%!PS (but not EPSF; comments have been disabled)
%DVIPSCommandLine: dvips -D600 -ta4 -o thesis-ch1.ps thesis-ch1.dvi
%DVIPSParameters: dpi=600, compressed, comments removed
%DVIPSSource:  TeX output 1995.09.19:1602
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N
/cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id
gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp
add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add
/gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{
dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1
adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2
idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string
putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval
adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg}
{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{
adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2
chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{]
}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false
RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1
false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform
round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg
rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail
{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}
B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{
4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{
p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
a}B /bos{/SS save N}B /eos{SS restore}B end
TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N
/vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen
false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B
/@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit
div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{
/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{
10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B
/@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale
true def end /@MacSetUp{userdict /md known{userdict /md get type
/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup
length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{}
N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath
clippath mark{transform{itransform moveto}}{transform{itransform lineto}
}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{
itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{
closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39
0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N
/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1
scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get
ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip
not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0
TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR
pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1
-1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg
TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg
sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr
0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add
2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp
{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72
div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray}
N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict
maxlength dict begin /magscale true def normalscale currentpoint TR
/psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts
/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx
psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy
scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR
/showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{
psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict
begin /SpecialSave save N gsave normalscale currentpoint TR
@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial
{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath
}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{
end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin}
N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{
/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX
SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X
/startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad
yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end
TeXDict begin 39158280 55380996 1000 600 600 (thesis-ch1.dvi)
@start /Fa 1 16 df<49B4FC010F13E0013F13F8497F48B6FC4815804815C04815E048
15F0A24815F84815FCA3B712FEAA6C15FCA36C15F86C15F0A26C15E06C15C06C15806C15
006C6C13FC6D5B010F13E0010190C7FC27267BAB32>15 D E /Fb
13 118 df<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B0B768A20>46
D<1438147814F81303130F13FFB5FC13F713071200B3B3B0497E497EB712C0A3224276C1
37>49 D<BAFCA3C601F0C7121F6D4802011380013FED007F183F181F180F1807A2F003C0
A31801A419E01800EE01C0A21900A41603A31607160F167F91B6FCA39138E0007F160F16
071603A31601A693C9FCB0497E497EB7FCA33B447BC347>70 D<157015F8A34A7EA24A7E
A34A7E81A291380E3F80A2021E7FEC1C1FA24A6C7EA34A6C7EA202F07FECE003A249486C
7EA349486C7EA201078091C77EA249B67EA24981011CC7121FA2013C810138140FA2496E
7EA201F081491403120183486C140100074B7ED81FF84A7EB5027F13F8A335357CB43D>
97 D<4AB4EB0180021FEBF00391B5EAFC0701039038007E0FD907F8EB0F9FD91FE0EB03
DF4948EB01FF01FFC8FC4848157F4848153FA24848151F4848150F121F491507123F5BA2
007F1603A3484892C7FCAB6C7EEF0380A2123FA27F001F16076D1600000F5E6C6C150E6C
6C151E171C6C6C153C6C6C5DD93FC05C6D6CEB03E0D907F8495A902703FF807FC7FC0100
EBFFFC021F13F00201138031357BB33B>99 D<B812F0A3D803FEC7123F6C48EC07F81601
1600A21778A21738A3171C1507A31700A25DA25D157F90B6FCA39038FC007F151F81A281
1707A3170E92C7FCA4171EA2173CA2177C17FC16011607486C143FB812F8A330337BB238
>101 D<DA03FF1303021FEBE00791B5EAF80F0103903800FE1FD90FF8EB1F3FD91FE0EB
07BFD97F806DB4FC49C77E484880484881484881A2484881121F4981123F5BA2007F82A2
5B00FF93C7FCAA4BB512F86C7EA2DB00011380003F6F1300837F121F7F120F6C7E7F1203
6C7E6C6C5DEB7FC0D91FE05BD90FF8EB07DF903A03FF803F8F01009038FFFE07021FEBF8
0302030180C7FC35357BB340>103 D<B512F8A33803FE006C5AB3B3A7487EB512F8A315
337BB21E>105 D<B500F890380FFFF0A3D803FEC76C13806C48913803FC0017F04C5A5F
4CC7FC161E5E5E5EED03E04B5A4B5A4BC8FC153E5D15F014014A7E4A7E140F4A7EEC7CFF
4A6C7EEBFDF09039FFE03FC04A6C7EEC800FD9FE007F496D7E6F7EA26F7E6F7E8283707E
707EA2707E707E83160383486C913807FF80B500F8011F13F8A335337BB23F>107
D<B612F8EDFF8016E03A03FE000FF86C48EB03FEED00FF707E707E83161FA283A55FA24C
5A5F4CC7FC16FEED03FCED1FF090B6128003FCC8FC9038FC003FED0FC06F7E6F7E6F7E82
150082A382A383A4EFC01CA2167FEFE03C486C023F1338B500F890381FF07893380FF8F0
933803FFE0CAEA7F8036347BB23C>114 D<90390FF0018090387FFE0348B512873907F0
0FEF390FC001FF48C7FC003E143F151F5A150F5A1507A36C1403A27E6C91C7FC6C7E7FEA
3FF8EBFF806C13FC6CEBFFC06C14F06C80C614FE011F7F01031480D9001F13C014019138
003FE0151F150FED07F0150312E01501A37EA216E06C1403A26CEC07C06CEC0F806C6CEB
1F0001E0133ED8FBFE13FC00F0B55AD8E01F13E0D8C00390C7FC24357BB32E>I<007FB8
12C0A3903A8007FC003F277E0003F8130F007C16070078160300701601A200F017E0A248
1600A6C71600B3AA4A7E4A7E010FB512FEA333327CB13B>I<B500F890383FFFE0A3D803
FEC7000713006C48EC01FC705A1770B3AE000016F06D5DA2017E1401017F4A5A7F6D6C49
5A6E49C7FC6D6C131ED903F0137C903901FE03F89039007FFFE0021F1380DA03FCC8FC33
347BB23D>I E /Fc 1 51 df<EB7F803801FFF0380780FC380E003F48EB1F8048EB0FC0
5A0060EB07E012F000FC14F07E1403A3007C1307C7FCA215E0140F15C0141F1580EC3F00
147E147C5C495A495A495A495A011EC7FC5B5B4913305B485A4848136048C7FC000E14E0
001FB5FC5A4814C0B6FCA21C2C7DAB23>50 D E /Fd 14 113 df<121EEA7F80A2EAFFC0
A4EA7F80A2EA1E000A0A78891B>58 D<121EEA7F8012FF13C0A213E0A3127FEA1E601200
A413E013C0A312011380120313005A1206120E5A5A5A12600B1D78891B>I<4CB46C1318
043F01F013384BB512FC0307D9007E1378DB1FF090380F80F0DB7F80EB03C1DA01FEC7EA
01C34A48EC00E7DA0FF0ED7FE04A48153F4A5A02FFC9121F494817C04948160F495A130F
4A178049481607495A137F4948170091CAFC5A485A1906485AA2485A96C7FC121F5BA212
3F5BA3127F5BA4485A4CB612805EA293C7EBE000725AA3007F60A218FF96C7FCA26C7E5F
606C7EA2000F16036D5E6C6C15070003160F6C6C151F6C6CED3DF8D97F8014786D6CEB01
E0D91FF0903807C078D907FE90387F00700101B500FC1330D9003F01F090C8FC020790CA
FC45487CC54D>71 D<EE03FF047F13F0923901FC01FC92390FE0007F033FC7EA1FC003FE
EC07E0DA01F86E7EDA07F06E7EDA0FC06E7E4A4881027FC9127E02FE167F494882494817
80495A010FEF1FC05C495A494817E0137F91CAFC5B4848170FF11FF0485AA2485AA2120F
5B001F19E0A249173F123FA34848EF7FC0A3F1FF80A2485A4E1300A34E5AA24E5A61180F
007F60181F614E5A4E5A6C7E4EC7FC4D5A001F4C5A6D4B5A000F5F6C6C4B5AEF3F806C6C
4BC8FC6C6C15FE6C6CEC01F8017FEC07F06D6CEB1FC0D90FE0017FC9FC903903F803FC01
00B512E0DA0FFECAFC44487CC54B>79 D<EC0FC0EC7FF0903901F8381C903907E01C7E90
380FC00E90393F0007FE496D5A13FE485A49130100035D485A120F491303001F5DA2485A
1507007F5D5BA2150F00FF5D90C7FCA2151F5E5AA2033F1330EE00701760A24B13E017C0
15FE007E130102031301003ED9073E1380003F010E13036C011C14006C6C486C5A3A07C0
F00F0E3A01FFC007FC3A007F0001F02C2D7CAB33>97 D<EE01FC16FFA3EE03F816011603
A217F0A21607A217E0A2160FA217C0A2161FA21780A2163FA21700EC0FC091387FF07F90
3801F838903907E01C7E90380FC00E90393F0007FE49130301FE5C485A49130112034848
5C120F491303121F5E485A1507127F495CA2150F12FF90C75BA2151FA2485DA2033F1330
1770EE0060A24B13E017C015FE007E130102031301003ED9073E1380003F010E13036C01
1C14006C6C486C5A3A07C0F00F0E3A01FFC007FC3A007F0001F02E467CC433>100
D<EC07F8EC3FFE903901FC0780903903F003C090390FC001E090381F8000017FC7FC01FE
1470485A484814F0000715E05B000F1401484814C015034848EB0780ED1F0015FC007FEB
1FF090B5128002F0C7FC0180C8FC12FF90C9FCA55AA41618007E15381670007F15E06CEC
01C0ED03806CEC07006C6C131E6D13383907E001F03901F00FC026007FFEC7FCEB1FF025
2D7CAB2D>I<EE07E0EE1FF8EE7C1CEEF80E923801F03E923803E07F17FFED07E116C117
FE92380FC0FC177817004B5AA4153F93C7FCA45D157EA491B61280A3DA00FCC7FCA31401
5DA414035DA414075DA4140F5DA5141F5DA4143F92C8FCA45C147EA45CA45C1301A25CA2
EA1C03007F5B12FF5C13075C4848C9FC12F8EA601EEA783CEA1FF0EA07C0305A7BC530>
I<157E913803FF8091390FC1E0E091391F0073F0027E13334A133F4948131F010315E049
48130F495AA2494814C0133F4A131F137F91C713805B163F5A491500A25E120349147EA2
16FEA2495CA21501A25EA21503150700015D150F0000141F6D133F017CEB77E090383E01
E790381F078F903807FE0FD901F85B90C7FC151FA25EA2153FA293C7FCA2001C147E007F
14FE485C4A5A140348495AEC0FC000F8495A007C01FEC8FC381FFFF8000313C02C407EAB
2F>I<14FE137FA3EB01FC13001301A25CA21303A25CA21307A25CA2130FA25CA2131FA2
5CED3FC090393F81FFF0913887C0FC91380E007E023C133ED97F70133F4A7F4A14805C13
FF91C7FC5BA24848143F17005BA200035D167E5BA2000715FE5E5B1501000F5DA2491303
5E001F1607030713064914E0150F003FEDC00E170C90C7141CEE80184816381730007E16
7017E000FE91380781C0EEC38048913801FF000038EC007C30467BC438>I<141E143F5C
5CA3147E143891C7FCAE133EEBFF803801C3C0380781E0380601F0120E121CEA18031238
1230A2EA700700605BA2EAE00F00C05BEA001F5CA2133F91C7FCA25B137E13FE5BA21201
5BEC03800003140013F01207495A1406140E140CEBC01C141814385C00035BEBE1C0C6B4
5A013EC7FC19437DC121>I<EB03F8EA01FFA3380007F013031307A214E0A2130FA214C0
A2131FA21480A2133FA21400A25BA2137EA213FEA25BA21201A25BA21203A25BA21207A2
5BA2120FA25BA2121FA25BA2123FA290C7FCA248136014E0007E13C0A2130100FE138012
FCA21303007C13005B1306EA3E0EEA1E1CEA0FF8EA03E015467CC41D>108
D<01F8EB03FCD803FEEB1FFFD8071F90387C0FC03B0E0F80E007E03A0C07C3C003001CD9
C7007F001801CE1301003801DC80003013D8EB0FF800705B00605BA200E0491303D8C01F
5D5C12001607013F5D91C7FCA2160F495D137E161F5F13FE49143F94C7FC187000014B13
6049147E16FE4C13E0000317C049150104F81380170300071700495D170EEE781C000FED
7C3849EC1FF0D80380EC07C0342D7DAB3A>110 D<D903E0EB3F80D90FF8EBFFE0903A1C
7C03C0F8903A383E07007C9026703F1E137E9026601F387F5D01E00160EB1F8001C013E0
4A5A00014A14C0018090C7FCA200035B1300147EC7FC02FE143FA25CA20101157F18805C
A2010315FF18005C5F010714015F4A13035F010F14075F4C5A5F496C495A4CC7FC02B813
7E02985B90393F9C01F891388F07E0913803FF80DA00FCC8FC4990C9FCA2137EA213FEA2
5BA21201A25BA21203A21207B512F0A25C323F83AB31>112 D E
/Fe 19 119 df<007FB5FCB6FCA214FEA21805789723>45 D<EC1F80EC7FE0903901F070
70903907C039F890380F801D90381F001F013E6D5A137E5B484813075E485A120749130F
000F5DA2485A151F003F5D5BA2153F007F92C7FC90C7FCA25D157E12FEA29238FE0380ED
FC071700A2007E13015E913803F80E1407003E010F131E161C6C131C02385B3A0F80F078
783A07C3E07C703A01FF801FE03A007E000780292D76AB32>97 D<EB0FE0EA07FFA33800
1FC0130F131FA25CA3133F91C8FCA35B137EA313FE5BA312015BEC1F80EC7FE03903F9E0
F89038F3C07C9038F7003E13FE48487F5BA2491480485AA25BA2121F5BA2153F123F90C7
FCA2157F481500127EA25D5D5AA24A5AA24A5AA2007C5C4A5A140F5D4A5A003C49C7FC00
3E137E001E5B6C485A380783E03803FF80C648C8FC214676C42D>I<EC0FE0EC7FF89038
01F81E903807E00F90390F80078090381F0003017E14C049131F0001143F5B4848EB7F80
1207485AED3E00484890C7FCA2485AA2127F90C9FCA35A5AA45AA5ED0180ED03C0ED0780
A2007CEC0F00007E141E003E147C15F06CEB03E0390F800F802607C07EC7FC3801FFF838
007FC0222D75AB2D>I<EE07F0ED03FFA39238000FE01607160FA217C0A2161FA21780A2
163FA21700A25EA2167EA216FEA25EEC1F80EC7FE1903801F071903907C039F890380F80
1D90381F001F013E130F017E5C5B48481307A248485C120749130F120F5E485A151F123F
495CA2153F127F90C790C7FCA25DA200FE147EA29238FE0380160703FC1300A2007E1301
5E913803F80E1407003E010F131E161C6C131C02385B3A0F80F078783A07C3E07C703A01
FF801FE03A007E0007802C4676C432>I<EC0FE0EC7FF8903801F83E903807C00F90391F
800780EB3F00017E14C0491303485A48481307000715805B000F140F484814005D484813
3E15FCEC07F0007FEBFFC0D9FFFEC7FC14C090C9FC5A5AA55AA4ED0180ED03C0007CEC07
80A2007EEC0F00003E141E157C6C14F06CEB03E03907800F802603C07EC7FC3801FFF838
003FC0222D75AB2D>I<15FCEC03FF91390F83838091393E01CFC091387C00EF4A13FF49
48137F010315804948133F495A131F4A1400133F91C75A5B167E13FE16FE1201495CA215
011203495CA21503A2495CA21507A25EA2150F151F5E0001143F157F6C6C13FF913801DF
8090387C039F90383E0F3FEB0FFCD903F090C7FC90C7FC5DA2157EA215FEA25DA2001C49
5A127F48495A14074A5A485C023FC8FC00F8137E387C01F8381FFFE0000390C9FC2A407B
AB2D>103 D<143C147E14FE1301A3EB00FC14701400AE137C48B4FC3803C780380703C0
000F13E0120E121C13071238A21278EA700F14C0131F00F0138012E0EA003F1400A25B13
7EA213FE5B12015BA212035B141E0007131C13E0A2000F133CEBC038A21478EB807014F0
14E0EB81C0EA0783EBC7803803FE00EA00F8174378C11E>105 D<EB03F8EA01FFA33800
07F013031307A214E0A2130FA214C0A2131FA21480A2133FA21400A25BA2137EA213FEA2
5BA21201A25BA21203A25BA21207A25BA2120FA25BA2121FA25BA2123FA290C7FCA2387F
01C01303007E1380A2130700FE130012FCA25B130EEA7C1E131CEA3C3CEA3E786C5AEA07
C0154678C419>108 D<D801F0D90FE0EB07F0D803FCD97FF8EB3FFC28071E01F03EEBF8
1F3E0E1F03C01F01E00F80271E0F8700D983807F001C018E90390F870007003C019C148E
003801B802DC8002F814FC26781FF05C0070495CA24A5C00F0494948130FD8E03F6091C7
5B1200043F141F4960017E92C7FCA24C143F01FE95C7FC49147E6104FE147E1201494A14
FE610301EE0780000305011400494A14F8A2030302035B0007F0F00E495C1A1E0307EDE0
1C000F193C494A153862030F020113F0001FF0F1E0494A903800FF800007C7D80380023E
C7FC492D78AB50>I<D801F0EB0FE0D803FCEB7FF83A071E01F03E3A0E0F03C01F001ED9
87001380001C018E130F003C139C003801B814C014F838781FF000705BA25C00F049131F
D8E03F158091C7FC1200163F491500137EA25E01FE147E5B16FE5E12014913015E170F00
030203130E4914F0A20307131E0007EDE01C5B173CEEC038000F167849157017E0ED03C1
001FEDE3C049903801FF000007C8127C302D78AB37>I<EC0FE0EC7FFC903801F83E9039
07E00F8090390F8007C0EB1F00017EEB03E04914F0A248481301484814F81207485AA248
5AA2485A1503127F90C7FCA215074815F05AA2150F16E05AED1FC0A21680153F16005D15
7E5D007C495A007E495A003E5C4A5A6CEB1F80260F803EC7FC3807C0FC3801FFF038003F
80252D75AB32>I<D903E0137E903A07F801FF80903A0E3C0783E0903A1C1E0F01F0903A
3C1F1C00F801385B017849137C01705BA24A48137E01E05BA292C7FC00015B13C0147EC7
FC02FE14FEA25CA20101140117FC5CA20103140317F85CA20107EC07F0A24AEB0FE0A201
0F15C0EE1F80163F1700496C137E5E4B5A9138B803F090393F9C07E091389E0F80DA07FE
C7FCEC01F849C9FCA2137EA213FEA25BA21201A25BA21203A21207B512F0A25C2F3F7FAB
32>I<91381F800C91387FE01C903901F0703C903907C0387890390F801CF890381F001D
013E130F017E14F05B48481307A2484814E012075B000F140F16C0485AA2003F141F4914
80A3007F143F90C71300A35D00FE147EA315FE5DA2007E1301A24A5A1407003E130FA26C
495A143B380F80F33807C3E73901FF87E038007E071300140F5DA3141F5DA3143F92C7FC
A25CA25C017F13FEA25D263F76AB2D>I<D801F0EB3F803A03FC01FFF03A071E03C0F83A
0E0F0F007C001E90389E01FC001C139CECB803003813F0A2D91FE013F80078EC00E00070
491300A200F05BEAE03F91C8FC1200A25B137EA313FE5BA312015BA312035BA312075BA3
120F5BA3121F5B0007C9FC262D78AB29>I<EC0FE0EC7FF8903801F01E903803C00F9039
0780078090380F0003011E14C0150749131FA2017CEB3F801378137CED0E0092C7FC137E
137F14F014FF6D13C06D13F06D7F6D7F1300EC0FFE14011400157F81120E003F141E487E
A2153E48C7123CA200FC5C12705D0078495A6C495A6CEB0F80260F803EC7FC3803FFF838
007FC0222D7AAB28>I<1470EB01F8A313035CA313075CA3130F5CA3131F5CA2007FB512
E0B6FC15C0D8003FC7FCA25B137EA313FE5BA312015BA312035BA312075BA3120F5BA2EC
0780001F140013805C140E003F131EEB001C143C14385C6C13F0495A6C485AEB8780D807
FEC7FCEA01F81B3F78BD20>I<137C48B414072603C780EB1F80380703C0000F7F000E15
3F121C0107150012385E1278D8700F147E5C011F14FE00F05B00E05DEA003FEC0001A249
5C137E150313FE495CA215071201495CA2030F13380003167849ECC070A3031F13F0EE80
E0153F00011581037F13C06DEBEF8300000101148090397C03C787903A3E0F07C7009039
1FFE01FE903903F000782D2D78AB34>I<017C143848B414FC3A03C78001FE380703C000
0F13E0120E001C14000107147E1238163E1278D8700F141E5C131F00F049131C12E0EA00
3F91C7123C16385B137E167801FE14705BA216F0000115E05B150116C0A24848EB0380A2
ED0700A2150E12015D6D5B000014786D5B90387C01E090383F0780D90FFFC7FCEB03F827
2D78AB2D>I E /Ff 30 122 df<EA01FCEA07FF4813804813C04813E04813F0A2B512F8
A76C13F0A26C13E06C13C06C13806C1300EA01FC151574942D>46
D<16F04B7E1507151F153FEC01FF1407147F010FB5FCB7FCA41487EBF007C7FCB3B3B3B3
007FB91280A6395E74DD51>49 D<913801FFF8021FEBFFC091B612F8010315FF010F16C0
013F8290267FFC0114F89027FFE0003F7F4890C7000F7F48486E7FD807F86E148048486E
14C048486E14E048486F13F001FC17F8486C816D17FC6E80B56C16FE8380A219FFA283A3
6C5BA26C5B6C90C8FCD807FC5DEA01F0CA14FEA34D13FCA219F85F19F04D13E0A294B512
C019804C14004C5B604C5B4C5B604C13804C90C7FC4C5A4C5A4B13F05F4B13804B90C8FC
4B5AED1FF84B5A4B5A4B48143F4A5B4A48C8FC4A5A4A48157E4A5A4A5AEC7F8092C9FC02
FE16FE495A495A4948ED01FCD90FC0150749B8FC5B5B90B9FC5A4818F85A5A5A5A5ABAFC
A219F0A4405E78DD51>I<92B5FC020F14F8023F14FF49B712C04916F0010FD9C01F13FC
90271FFC00077FD93FE001017F49486D8049C86C7F484883486C6F7F14C0486D826E806E
82487FA4805CA36C5E4A5E6C5B6C5B6C495E011FC85A90C95CA294B55A614C91C7FC604C
5B4C5B4C5B4C5B047F138092260FFFFEC8FC020FB512F817E094C9FC17F817FF91C7003F
13E0040713F8040113FE707F717F7113E085717FA2717F85A285831A80A31AC0EA03FCEA
0FFF487F487F487FA2B57EA31A80A34D14005C7E4A5E5F6C495E49C8485BD81FF85F000F
5ED807FE92B55A6C6C6C4914806C01F0010791C7FC6C9026FF803F5B6D90B65A011F16F0
010716C001014BC8FCD9001F14F0020149C9FC426079DD51>I<F01F804E7E187F18FFA2
5F5F5F5FA25F5F5FA294B5FC5E5E5EA25E5EEE3FBFEE7F3FA216FEED01FCED03F8ED07F0
A2ED0FE0ED1FC0ED3F8016005D15FE4A5A4A5AA24A5A4A5A4A5A4A5AA24AC7FC14FE495A
5C1303495A495A495A5C133F49C8FC13FE485AA2485A485A485A5B121F485A48C9FC12FE
BCFCA6CA6CEBC000B1037FB8FCA6485E7CDD51>I<01C0EE01C0D801F8160F01FF167F02
F0EC07FFDAFF8090B5FC92B7128019006060606060606095C7FC17FC5F17E0178004FCC8
FC16E09026FC3FFCC9FC91CBFCADED3FFE0203B512F0020F14FE023F6E7E91B712E001FD
D9E00F7F9027FFFE00037F02F801007F02E06EB4FC02806E138091C8FC496F13C04917E0
7113F0EA00F090C914F8A219FC83A219FEA419FFA3EA03F0EA0FFC487E487E487FA2B57E
A319FEA35C4D13FC6C90C8FC5B4917F8EA3FF001804B13F06D17E0001F5E6C6C17C06D4B
1380D807FC92B512006C6C4A5B6C6C6C01075B6C01E0011F5BD97FFE90B55A6DB712C001
0F93C7FC6D15FC010115F0D9003F1480020301F0C8FC406078DD51>I<4DB5ED03C0057F
02F014070407B600FE140F047FDBFFC0131F4BB800F0133F030F05FC137F033F9127F800
7FFE13FF92B6C73807FF814A02F0020113C3020702C09138007FE74A91C9001FB5FC023F
01FC16074A01F08291B54882490280824991CB7E49498449498449498449865D49498490
B5FC484A84A2484A84A24891CD127FA25A4A1A3F5AA348491A1FA44899C7FCA25CA3B5FC
B07EA380A27EA2F50FC0A26C7FA37E6E1A1F6C1D80A26C801D3F6C6E1A00A26C6E616D1B
FE6D7F6F4E5A7F6D6D4E5A6D6D4E5A6D6D4E5A6D6E171F6D02E04D5A6E6DEFFF806E01FC
4C90C7FC020F01FFEE07FE6E02C0ED1FF8020102F8ED7FF06E02FF913803FFE0033F02F8
013F1380030F91B648C8FC030117F86F6C16E004071680DC007F02F8C9FC050191CAFC62
6677E375>67 D<4DB5ED03C0057F02F014070407B600FE140F047FDBFFC0131F4BB800F0
133F030F05FC137F033F9127F8007FFE13FF92B6C73807FF814A02F0020113C3020702C0
9138007FE74A91C9001FB5FC023F01FC16074A01F08291B54882490280824991CB7E4949
8449498449498449865D49498490B5FC484A84A2484A84A24891CD127FA25A4A1A3F5AA3
48491A1FA44899C8FCA25CA3B5FCB07E071FB812F880A37EA296C70001ECC000A26C7FA3
7E807EA26C80A26C80A26C807F6D7F816D7F7F6D7F6D6D5F6D14C06D6E5E6E7F6E01FC5E
020F01FF5E6E02C0ED7FEF020102F8EDFFC76E02FF02071383033F02FC013F1301030F91
B638FC007F03014D131F6F6C04E01307040704801301DC007F02F8CAFC050191CBFC6D66
77E37F>71 D<B700C0083FB612F070627097B7FCA37061D800010DF8C7FC70F103EFA202
FD6DF107CFA202FC6DF10F8FA36F6DF01F0FA26F6D183EA26F6D187CA26F6D18F8A36F6D
EF01F0A26F6DEF03E0A26F6DEF07C0A26F6DEF0F80A3706DEE1F00A2706D163EA2706D5E
A2706D5EA3706D4B5AA2706D4B5AA2706D4B5AA2706D4B5AA3716D4AC7FCA2716D143EA2
716D5CA2716D5CA3716D495AA2716D495AA2716D495AA2716D495AA3726D48C8FCA272EB
C03EA2726D5AA2726D5AA372EBF9F0A272EBFFE0A2725CA2725CA37390C9FCA2735AA273
5A90381FFFC0B700F86E480207B812F0A3735AA2735A8C627AE199>77
D<B700E0040FB7128082828282A2D800016EDC000101FCC7FC719338001FC08383A28302
FD808302FC80816F7F6F806F8084816F806F806F8084707F827080708085708082708070
8085717F83718071807180868371807180727F8672808472807280877280847280737F87
731480857314C07314E01CF07314F8857314FC7413FE7413FF1D9F867414DF7414FF86A2
86868787A287878787A28787888888A288888890261FFFC084B712F8881D7F1D3F1D1F77
5A71627AE17E>I<001FBEFCA64849C79126E0000F148002E0180091C8171F498601F81A
0349864986A2491B7FA2491B3F007F1DC090C9181FA4007E1C0FA600FE1DE0481C07A5CA
95C7FCB3B3B3A3021FBAFCA663617AE070>84 D<913803FFFE027FEBFFF00103B612FE01
0F6F7E4916E090273FFE001F7FD97FE001077FD9FFF801017F486D6D7F717E486D6E7F85
717FA2717FA36C496E7FA26C5B6D5AEB1FC090C9FCA74BB6FC157F0207B7FC147F49B612
07010F14C0013FEBFE004913F048B512C04891C7FC485B4813F85A5C485B5A5CA2B55AA4
5FA25F806C5E806C047D7F6EEB01F96C6DD903F1EBFF806C01FED90FE114FF6C9027FFC0
7FC01580000191B5487E6C6C4B7E011F02FC130F010302F001011400D9001F90CBFC4943
7CC14E>97 D<903807FF80B6FCA6C6FC7F7FB3A8EFFFF8040FEBFF80047F14F00381B612
FC038715FF038F010014C0DBBFF0011F7FDBFFC001077F93C76C7F4B02007F03F8824B6F
7E4B6F13804B17C0851BE0A27313F0A21BF8A37313FCA41BFEAE1BFCA44F13F8A31BF0A2
4F13E0A24F13C06F17804F1300816F4B5A6F4A5B4AB402075B4A6C6C495B9126F83FE001
3F13C09127F00FFC03B55A4A6CB648C7FCDAC00115F84A6C15E091C7001F91C8FC90C800
0313E04F657BE35A>I<92380FFFF04AB67E020F15F0023F15FC91B77E01039039FE001F
FF4901F8010113804901E0010713C04901804913E0017F90C7FC49484A13F0A2485B485B
5A5C5A7113E0485B7113C048701380943800FE0095C7FC485BA4B5FCAE7EA280A27EA280
6C18FCA26C6D150119F87E6C6D15036EED07F06C18E06C6D150F6D6DEC1FC06D01E0EC7F
806D6DECFF00010701FCEB03FE6D9039FFC03FFC010091B512F0023F5D020F1580020102
FCC7FCDA000F13C03E437BC148>I<F17FF8050FB5FCA6EF000F8484B3A892380FFF804A
B512F8020F14FE023FECFF8391B712E301039138807FF3499039F8000FFB011F01E00103
B5FC494913004990C87E49488148498148834A815A485BA2485BA25AA3485BA4B5FCAE7E
A46C7FA37EA26C7FA26C5F806C5F6C6D5D6C6D5D017F93B5FC6D6C6C0103806D6D49806D
01F0D91FF7EBFFFE6D9039FE01FFE7010190B612876D6CECFE07021F14F8020314E09127
003FFE00ECC0004F657BE35A>I<92380FFFC04AB512FC020FECFF80023F15E091B712F8
0103D9FE037F499039F0007FFF011F01C0011F7F49496D7F4990C76C7F49486E7F484980
48844A804884485B727E5A5C48717EA35A5C721380A2B5FCA391B9FCA41A0002C0CBFCA6
7EA380A27EA27E6E160FF11F806C183F6C7FF17F006C7F6C6D16FE6C17016D6C4B5A6D6D
4A5A6D01E04A5A6D6DEC3FE0010301FC49B45A6D9026FFC01F90C7FC6D6C90B55A021F15
F8020715E0020092C8FC030713F041437CC14A>I<EE3FFC0307B51280033F14C04AB612
F0020715F84A9038F03FFC4AEB807F913A7FFE00FFFE4A5A4B4813FF4913F05B4913E0A2
4913C0A27013FE4949EB7FFCEF3FF8EF1FF0EF07C094C7FCB0B812C0A6D8001F01C0C8FC
B3B3B0007FB612FCA638657CE431>I<F107F8DB7FFEEC3FFE020FB5D8F001B5FC027FDA
FE03148049B7128F49DCDFFD13C0010FD9F00FEBFFC149D9800114014990C7EBFC034948
6E6C7E4948EC3FFF48496E018113800780130048F0C03E97C7FC48496E7FA34884A96C60
A36C6D4A5BA26C60A26C6D4A90C8FC6D6C4A5A6D6C4A5A6D6D485BDBF00F5B4990B612C0
60D97C7F4AC9FCD9FC0F14F09126007FFECAFC92CCFC1201A47FA27F8014F091B77E18FE
6CEFFFC019F06D17FC19FF6D846D846D846D84013F8490BAFC0003854801E0C712014890
C9000F7F484816014848EE007F4848717E8512FF5B85A56D5F007F616D173F003F616D17
7F6C6C4D5A6C01C003035B6C6D4B5B6C01F8031F5BC601FF92B5C7FC6D01F8011F5B011F
90B712F8010717E0010094C8FC020F15F0DA003F01FCC9FC4A607CC151>I<903807FF80
B6FCA6C6FC7F7FB3A8EF1FFF94B512F0040714FC041F14FF4C8193267FE07F7F922781FE
001F7FDB83F86D7FDB87F07FDB8FC0814C7F039FC78015BE03BC8003FC825DA25DA25DA4
5DB3B2B7D8F007B71280A651647BE35A>I<EB0FE0EB3FF8497E48B5FCA24880A24880A7
6C5CA26C91C7FCA238007FFC6D5AEB0FE090C9FCAF903807FF80007FB5FCA6C6FC7F7FB3
B3AEB712C0A622657BE42C>I<903807FF80B6FCA6C6FC7F7FB3B3B3B3ADB712E0A62364
7BE32C>108 D<902607FF80D91FFFEEFFF8B691B500F00207EBFF80040702FC023F14E0
041F02FF91B612F84C6F488193267FE07F6D4801037F922781FE001F9027E00FF0007FC6
DA83F86D9026F01FC06D7F6DD987F06D4A487F6DD98FC0DBF87EC7804C6D027C80039FC7
6E488203BEEEFDF003BC6E4A8003FC04FF834B5FA24B5FA24B94C8FCA44B5EB3B2B7D8F0
07B7D8803FB612FCA67E417BC087>I<902607FF80EB1FFFB691B512F0040714FC041F14
FF4C8193267FE07F7F922781FE001F7FC6DA83F86D7F6DD987F07F6DD98FC0814C7F039F
C78015BE03BC8003FC825DA25DA25DA45DB3B2B7D8F007B71280A651417BC05A>I<9238
07FFE092B6FC020715E0021F15F8027F15FE494848C66C6C7E010701F0010F13E04901C0
01037F49496D7F4990C87F49486F7E49486F7E48496F13804819C04A814819E048496F13
F0A24819F8A348496F13FCA34819FEA4B518FFAD6C19FEA46C6D4B13FCA36C19F8A26C6D
4B13F0A26C19E06C6D4B13C0A26C6D4B13806C6D4B13006D6C4B5A6D6D495B6D6D495B01
0701F0010F13E06D01FE017F5B010090B7C7FC023F15FC020715E0020092C8FC030713E0
48437CC151>I<902607FF80EBFFF8B6010FEBFF80047F14F00381B612FC038715FF038F
010114C09227BFF0003F7FC6DAFFC0010F7F6D91C76C7F6D496E7F03F86E7F4B6E7F4B17
804B6F13C0A27313E0A27313F0A21BF885A21BFCA3851BFEAE4F13FCA41BF861A21BF061
1BE0611BC06F92B512801B006F5C6F4A5B6F4A5B03FF4A5B70495B04E0017F13C09226CF
FC03B55A03C7B648C7FC03C115F803C015E0041F91C8FC040313E093CBFCB3A3B712F0A6
4F5D7BC05A>I<D90FFFEB0FFCB690383FFF8093B512E04B14F04B14F8923907FC7FFC92
390FE0FFFEC6EC1F806DD93F0113FF6D133E157E157C15F8A215F07013FEA24BEB7FFCEF
3FF8EF0FE04B90C7FCA55DB3B0B712F8A638417BC042>114 D<913A3FFF8007800107B5
EAF81F011FECFE7F017F91B5FC48B8FC48EBE0014890C7121FD80FFC1407D81FF0801600
485A007F167F49153FA212FF171FA27F7F7F6D92C7FC13FF14E014FF6C14F8EDFFC06C15
FC16FF6C16C06C16F06C826C826C826C82013F1680010F16C01303D9007F15E0020315F0
EC001F1500041F13F81607007C150100FC81177F6C163FA2171F7EA26D16F0A27F173F6D
16E06D157F6D16C001FEEDFF806D0203130002C0EB0FFE02FCEB7FFC01DFB65A010F5DD8
FE0315C026F8007F49C7FC48010F13E035437BC140>I<EC07E0A6140FA5141FA3143FA2
147FA214FF5BA25B5B5B5B137F48B5FC000F91B512FEB8FCA5D8001F01E0C8FCB3AFEF0F
C0AC171F6D6D1480A2173F6D16006F5B6D6D137E6D6D5B6DEBFF836EEBFFF86E5C020F14
C002035C9126003FFCC7FC325C7DDA3F>I<902607FFC0ED3FFEB60207B5FCA6C6EE0007
6D826D82B3B3A260A360A2607F60183E6D6D147E4E7F6D6D4948806D6DD907F0ECFF806D
01FFEB3FE06D91B55A6E1500021F5C020314F8DA003F018002F0C7FC51427BC05A>I<B7
00C00103B512FCA6D8003F01C0C8381FFE006FED07F0A26D6D5E190F6D6D5E191F6D6D5E
193F6D95C7FC6F5D6D177E6F15FEA26D6E495AA26E6D5C18036E6D5C18076E5E70130F6E
5E70131FA26E6D495AA26E6D91C8FC606E6D137E18FE6E5D17816F5C17C3A26FEBE7F0A2
6FEBF7E017FF6F5CA26F5CA26F91C9FCA36F5BA26F5BA2705AA2705AA2705AA35FA25F16
3F94CAFC5E167E16FED807E05CD81FF81301487E486C495AA2B5495AA24B5A5E151F4B5A
6C4849CBFC15FEEBFC01393FF807FC391FF03FF06CB55A6C5C6C91CCFCC613FCEB1FE04E
5D7DBF55>121 D E /Fg 66 123 df<4AB4FC020F13E091387F80F8903901FC001C4948
7FD907E0130F4948137F011FECFF80495A49C7FCA25B49EC7F00163E93C7FCACEE3F80B8
FCA3C648C7FC167F163FB3B0486CEC7FC0007FD9FC1FB5FCA330467EC536>12
D<DBFF80EB3FE0020F9039F001FFFC913B3F807C0FF01F913CFC000E3F800380D903F86D
48486C7E4948D90FFC804948D93FF8130F4948017F4A7E49485C49C75BA25B494B6D5A04
1F6E5A96C8FCACF107F0BBFCA3C648C7391FC0001F190F1907B3B0486C4A6C497E007FD9
FC0FB50083B512E0A34B467EC551>14 D<121EEA7F80EAFFC0A9EA7F80ACEA3F00AB121E
AC120CA5C7FCAA121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A4778C61B>33
D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313005A
1206120E5A5A5A12600B1D78C41B>39 D<140C141C1438147014E0EB01C01303EB0780EB
0F00A2131E5BA25B13F85B12015B1203A2485AA3485AA348C7FCA35AA2123EA2127EA412
7CA312FCB3A2127CA3127EA4123EA2123FA27EA36C7EA36C7EA36C7EA212017F12007F13
787FA27F7FA2EB0780EB03C01301EB00E014701438141C140C166476CA26>I<12C07E12
707E7E7E120F6C7E6C7EA26C7E6C7EA21378137C133C133E131E131FA2EB0F80A3EB07C0
A3EB03E0A314F0A21301A214F8A41300A314FCB3A214F8A31301A414F0A21303A214E0A3
EB07C0A3EB0F80A3EB1F00A2131E133E133C137C13785BA2485A485AA2485A48C7FC120E
5A5A5A5A5A16647BCA26>I<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013
C0A312011380120313005A1206120E5A5A5A12600B1D78891B>44
D<B612C0A61A067F9721>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A78891B>I<14
FF010713E090381F81F890383E007C01FC133F4848EB1F8049130F4848EB07C04848EB03
E0A2000F15F0491301001F15F8A2003F15FCA390C8FC4815FEA54815FFB3A46C15FEA56D
1301003F15FCA3001F15F8A26C6CEB03F0A36C6CEB07E0000315C06D130F6C6CEB1F806C
6CEB3F00013E137C90381F81F8903807FFE0010090C7FC28447CC131>48
D<143014F013011303131F13FFB5FC13E713071200B3B3B0497E497E007FB6FCA3204278
C131>I<EB03FE90381FFFC0017F13F03901F80FFC3903C001FE48486C7E000EC7EA7F80
48EC3FC0ED1FE04815F00030140F007015F800601407126CB415FC7F7F1503A46C481307
6CC7FCC8FC16F8A2150F16F0151F16E0A2ED3FC0ED7F8016005D5D4A5A4A5A4A5A5D4A5A
4A5A4AC7FC147C5C5C495A495A495A49C7120C131E5B013814185B5B485A4848143848C8
1230000E1570001FB612F0A25A5AB712E0A326427BC131>I<49B4FC010F13E0013F13FC
9038FE01FE3A01F0007F80D803C0EB3FC048C7EA1FE0120EED0FF0EA0FE0486C14F8A215
077F5BA26C48130FEA03C0C813F0A3ED1FE0A2ED3FC01680ED7F0015FE4A5AEC03F0EC1F
C0D90FFFC7FC15F090380001FCEC007FED3F80ED1FC0ED0FE016F0ED07F816FC150316FE
A2150116FFA3121EEA7F80487EA416FE491303A2007EC713FC00701407003015F8003814
0F6C15F06CEC1FE06C6CEB3FC0D803E0EB7F803A01FE01FE0039007FFFF8010F13E00101
90C7FC28447CC131>I<ED0380A21507150FA2151F153FA2157F15FFA25CEC03BF153F14
071406140C141C141814301470146014C013011480EB03005B13065B131C13185B137013
6013E0485A5B120390C7FC1206120E120C5A123812305A12E0B812C0A3C8383F8000ADED
FFE0027FEBFFC0A32A437DC231>I<000615C0D807C0130701FCEB7F8090B612005D5D5D
15E0158026063FFCC7FC90C9FCAE14FF010713C090381F01F090383800FC01F0137ED807
C07F49EB1F8016C090C7120F000615E0C8EA07F0A316F81503A216FCA5123E127F487EA4
16F890C712075A006015F0A20070140F003015E00038EC1FC07E001EEC3F806CEC7F006C
6C13FE6C6C485A3901F807F039007FFFE0011F90C7FCEB07F826447BC131>I<EC07FCEC
3FFF91B512C0903903FC03E0903907E000F0D91FC0133849C71258017EEB01FC01FE1303
491307485A485AA24848EB03F8000FEC01F092C7FC485AA3485AA3127FA29038007F8090
3801FFF090380780FC39FF0E003E49EB1F8049EB0FC049EB07E0136001E0EB03F04914F8
150116FC5BED00FEA390C812FFA47EA57F123FA216FE121F15016D14FC120FED03F86C7E
ED07F06C6C14E06C6CEB0FC06C6CEB1F80017EEB3F0090383F80FE90380FFFF8010313E0
0100138028447CC131>I<121CA2EA1F8090B712C0A3481680A217005E0038C8120C0030
151C00705D0060153016705E5E4814014B5A4BC7FCC81206150E5D151815385D156015E0
4A5AA24A5A140792C8FC5CA25C141E143EA2147E147CA214FCA21301A3495AA41307A613
0FAA6D5AEB01C02A457BC231>I<14FF010713E0011F13F890387F00FE01FC133FD801F0
EB1F804848EB0FC049EB07E00007EC03F048481301A290C713F8481400A47FA26D130116
F07F6C6CEB03E013FC6C6CEB07C09039FF800F806C9038C01F006CEBF03EECF87839007F
FEF090383FFFC07F01077F6D13F8497F90381E7FFFD97C1F1380496C13C02601E00313E0
48486C13F000079038007FF84848EB3FFC48C7120F003EEC07FE150148140016FF167F48
153FA2161FA56C151E007C153EA2007E153C003E157C6C15F86DEB01F06C6CEB03E06C6C
EB07C0D803F8EB1F80C6B4EBFF0090383FFFFC010F13F00101138028447CC131>I<14FF
010713E0011F13F890387F80FC9038FC007E48487F4848EB1F804848EB0FC0000FEC07E0
485AED03F0485A16F8007F140190C713FCA25AA216FE1500A516FFA46C5CA36C7E5D121F
7F000F5C6C6C1306150E6C6C5B6C6C5BD8007C5B90383F01E090390FFF80FE903801FE00
90C8FC150116FCA4ED03F8A216F0D80F801307486C14E0486C130F16C0ED1F80A249EB3F
0049137E001EC75A001C495A000F495A3907E01FE06CB51280C649C7FCEB1FF028447CC1
31>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB3A5121EEA7F80A2EAFFC0A4EA7F
80A2EA1E000A2B78AA1B>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB3A5121E12
7FEAFF80A213C0A4127F121E1200A512011380A3120313005A1206120E120C121C5A5A12
600A3E78AA1B>I<16C04B7EA34B7EA34B7EA34B7EA3ED19FEA3ED30FFA203707FED607F
A203E07FEDC03FA2020180ED801FA2DA03007F160FA20206801607A24A6D7EA34A6D7EA3
4A6D7EA20270810260147FA202E08191B7FCA249820280C7121FA249C87F170FA2010682
1707A2496F7EA3496F7EA3496F7EA201788313F8486C83D80FFF03037FB500E0027FEBFF
C0A342477DC649>65 D<DB0FFE146092B500C013E0020314F0913A0FFC01FC0191393FC0
003E02FFC7EA0F83D903FCEC03C74948EC01E74948EC00FF4948157F4948153F4948151F
49C9120F485A491607120348481603A248481601A248481600A2123FA2491760127FA319
00485AAE6C7EA21960A2123F7FA2001F18E07F000F18C0A26C6C160119806C6C16031201
6DEE07006C6C16066D6C150E6D6C5D6D6C5D6D6C15786D6C5D6D6C4A5AD900FFEC0780DA
3FC0011FC7FCDA0FFC13FC0203B512F0020014C0DB0FFEC8FC3B487BC546>67
D<B8FC17F017FC00019039C00007FF6C499038007FC0017FED1FE0EF07F0EF03FC717E71
7E84727E727E727EA2727E85180385A2180185A38584A31A80AD1A00A36061A361180361
180761180F614E5A183F614EC7FC18FEEF03FC4D5AEF1FE001FFED7FC0486DD907FFC8FC
B812FC17F094C9FC41447CC34B>I<B912F8A3000101C0C7127F6C6C48EC07FC17011700
187C183C181CA284A31806A4180704067FA395C7FCA4160EA2161E163E16FE91B5FCA3EC
8000163E161E160EA21606A319C0A3F0018093C7FCA41803A21900A260A260A2181EA218
3E187EEF01FE170748486C147FB95AA33A447CC342>I<B912F0A3000101C0C7127F6C6C
48EC0FF817031701170018781838A2181CA3180CA4180E1806160CA21800A5161CA2163C
167CED01FC91B5FCA3EC8001ED007C163C161CA2160CA793C8FCB08048487EB612F8A337
447CC340>I<B612F0A3C6EBF0006D5A6D5AB3B3B3A4497E497EB612F0A31C447DC323>
73 D<B612F8A3000101E0C9FC6C6C5A5CB3B31830A418701860A518E0A3EF01C0A21703
1707A2170F173F177FEE01FF48486C011F1380B9FCA334447CC33D>76
D<B56C933807FFFC6E5EA20001F1FE0026006FE0EE1BF8A3D967F01633A2D963F81663A3
D961FC16C3A3D960FEED0183A2027FED0303A36E6C1406A36E6C140CA26E6C1418A36E6C
1430A36E6C1460A26E6C14C0A36E6CEB0180A3037FEB0300A292383F8006A36F6C5AA36F
6C5AA26F6C5AA36F6C5AA36F6C5AA26FB45AA370C7FC13F0A2486C143ED80FFFEF0FFEB5
00F0011C0107B512FCA34E447BC359>I<B56C020FB5FC8080C6040013F06D6CED1F80D9
6FF8ED0F00A2D967FC1506EB63FEA2EB61FF01607FA26E7E6E7EA26E7E6E7EA26E7E6E7E
A26E7E6E7FA26F7E6F7EA26F7E6F7EA26F7E6F7EA26F7E6F1380A2EE7FC0EE3FE0A2EE1F
F0EE0FF8A2EE07FCEE03FEA2EE01FF701386A2EF7FC6EF3FE6A2EF1FF6EF0FFEA2170717
03A217011700A201F0167E183E487ED80FFF161EB500F0150EA2180640447CC349>I<ED
1FFC4AB512C0913907F007F091391F8000FC027EC7123FD901F8EC0FC049486E7E49486E
7E49486E7E49486E7E49C9127E017E8201FE834848707E4848707EA24848707EA2000F84
491603001F84A24848707EA3007F84A24982A300FF1980AD6C6C4C1300A4003F606D1603
A2001F60A26C6C4C5AA26C6C4C5AA20003606D161F6C6C4C5A000060017F4CC7FC6E5D01
3F5E6D6C4A5AD907E0EC03F06D6C4A5AD901FCEC1FC0D9007E4AC8FCDA1F8013FC913907
F007F00201B512C09126001FFCC9FC41487BC54C>I<B712FCEEFFC017F800019039C000
0FFC6C6C48EB01FF9338007F80EF1FE0170FEF07F018F8EF03FCA218FE1701A218FFA718
FEA2170318FCA2EF07F818F0EF0FE0EF1FC0EF7F80933801FE00EE0FFC91B612F0178002
80C9FCB3AA3801FFE0B612C0A338447CC342>I<B712E016FF17C000019039C0003FF86C
6C48EB03FCEE00FF717E717E717E717E717EA284170384A760A21707604D5AA24D5A4D5A
4DC8FCEE01FEEE07F8EE3FE091B6C9FC16FC913980007F80EE0FE0707EEE03FC707E1600
83717EA2717EA784A71A6084171FA21AE0716C13C02601FFE002071301B600C016809438
01FC03943900FE0700CBEA3FFEF007F843467CC348>82 D<49B41303010FEBE007013F13
F89039FE00FE0FD801F8131FD807E0EB079F49EB03DF48486DB4FC48C8FC4881003E8112
7E82127C00FC81A282A37E82A27EA26C6C91C7FC7F7FEA3FF813FE381FFFE06C13FE6CEB
FFE06C14FC6C14FF6C15C0013F14F0010F80010180D9001F7F14019138001FFF03031380
816F13C0167F163F161F17E000C0150FA31607A37EA36C16C0160F7E17806C151F6C1600
6C5D6D147ED8FBC05CD8F9F0495AD8F07C495A90393FC00FE0D8E00FB51280010149C7FC
39C0003FF02B487BC536>I<003FB912F8A3903BF0001FF8001F01806D481303003EC715
0048187C0078183CA20070181CA30060180CA5481806A5C81600B3B3A54B7EED7FFE49B7
7EA33F447DC346>I<B600C0010FB5FCA3000101E0C813F026007F80ED1F80F00F00A218
06B3B3A7180E6D6C150CA2181C131F6E1518010F163818306D6C1570606D6C14016D6C5D
6D6CEC0780027F4AC7FC6E6C131EDA1FE0137C913907FC03F00201B55A6E6C1380DB07FC
C8FC40467CC349>I<B692383FFFF0A3000301E003071300C649ED01FC4A5E017F705A6E
5E133F616E1501011F5FA26D6C4BC7FCA28001071606A26E150E0103160CA26D6C5DA280
6D5EA26F1470027F156081023F5DA281021F4A5AA26F1303020F92C8FC8102071406A26F
130E0203140CA26E6C5BA2816E5CA2EE8070037F1360A26F6C5AA216E092381FE180A216
F3030F90C9FC16FBED07FEA36F5AA36F5AA26F5AA3166044467EC349>I<B60107B500F8
90380FFFFEA3000301E0D9001F90C813F06C0180DA0FFCED3FC091C86C48ED1F006C871C
0E6D6C6E7E1C0CA26D6C6F5DA36EDA06FF1538011F1A30A26E020E6D1470010FDB0C7F15
60A26E021C7F0107DB183F5DA2856D6CDA301F4A5AA36D6C4A6C6C49C7FCA36D6C4A6C6C
1306A3DB80016E130E027FDA8003140CA2DBC00380023FDA00015CA203E081021F01066D
5CA36E6C486E6C5AA36E6C486E6C5AA36F48EC1FE1020360A2DBFE7015F302010160020F
90C8FCA2DBFFE015FB6E49EC07FEA36F486E5AA36FC86C5AA3031E6F5AA4030C16605F46
7EC364>I<EAFFFCA4EAF000B3B3B3B3B3A2EAFFFCA40E6476CA1B>91
D<EAFFFCA4EA003CB3B3B3B3B3A2EAFFFCA40E647ECA1B>93 D<EB07FC90383FFF809038
F80FE03903C003F048C66C7E000E6D7ED80FC0137E486C137F6D6D7EA36F7EA26C5AEA03
80C8FCA4EC0FFF49B5FC90380FFE1FEB3FC0EBFF00EA03FC485A485A485A485A127F5B17
6048C7FCA3153FA36D137F007F14EF6D9038C7E0C0003F13013A1FE00783F13B07F81E03
FF802701FFFC0113003A001FE0007C2B2E7CAC31>97 D<EA01FC12FFA3120712031201B3
EC03FC91380FFF8091383C07E091387001F89039FDE0007E02807F01FFEC1F8091C713C0
49EC0FE049140717F0A2EE03F8A217FCA2160117FEAB17FC1603A217F8A2EE07F0A26DEC
0FE017C06D141F01FBEC3F80D9F380EB7E00D9E1C05B9039E0F001F89039C03C07E09039
801FFF80C7D803FCC7FC2F467DC436>I<EC7F80903803FFF090380FC07C90383F000F01
FCEB03804848EB01C00003140F4848EB1FE049133F120F485AA2485AED1FC0007FEC0700
92C7FCA290C9FC5AAB7E7FA2123F16307F001F15706C6C146016E06C6C14C06C6C130100
01EC03806C6CEB0700013F131E90381FC078903807FFF001001380242E7DAC2B>I<167F
ED3FFFA315018182B3EC7F80903803FFF090380FC07C90383F000E017E1307496D5AD803
F87F48487F5B000F81485AA2485AA2127FA290C8FC5AAB7E7FA2123FA26C7EA2000F5D7F
6C6C5B00035C6C6C9038077F806C6C010E13C0013F011C13FE90380FC0F8903803FFE090
26007F0013002F467DC436>I<EB01FE903807FFC090381F03F090387E00FC49137E4848
7F485A4848EB1F80000F15C049130F121F484814E01507A2007F15F090C7FCA25AA390B6
FCA290C9FCA67EA27FA2123F16306C7E1670000F15606D14E06C6C14C0000314016C6CEB
03806C6CEB0700013E131E90381F80F8903803FFE0010090C7FC242E7DAC2B>I<EC0FE0
EC7FF8903801F81E903803F03F90390FE07F8090381FC0FF5C133F495AA2ED7F0001FE13
1C92C7FCAFB67EA3C648C8FCB3B2486C7E007F13FFA321467EC51E>I<EE0F80D901FCEB
7FE0903A0FFF81F0F090393F07E3819039FC01FF033A01F800FE014848017E13E0000702
7FC7FC497F000F8149131F001F81A9000F5D6D133F000792C7FC6D5B0003147E6C6C5B6D
485A3903BF07E090380FFF80260701FCC8FC90CAFCA25AA37F6C7E7F90B512F86C14FF16
E06C15F86C6C8048B67E3A07C0000FFF48481300003FC8EA3F80003E151F48ED0FC0A248
1507A56C150F007C1680007E151F003E16006C153E6C6C5CD807E0495AD801F8EB07E0D8
007FEB3F8090261FFFFEC7FC010113E02C427DAC31>I<EA01FC12FFA3120712031201B3
EC01FE913807FFC091381E07F091383801F802707FECE000D9FDC07F5C01FF147F91C7FC
A25BA35BB3A8486CECFF80B5D8F83F13FEA32F457DC436>I<EA01E0EA07F8A2487EA46C
5AA2EA01E0C8FCADEA01FC12FFA3120712031201B3B0487EB512F8A315437DC21C>I<14
3C14FFA2491380A46D1300A2143C91C7FCADEC7F80EB3FFFA31300147F143FB3B3AA123E
127F39FF807F00A2147EA25C6C485A383C01F06C485A3807FF80D801FEC7FC195785C21E
>I<EA01FC12FFA3120712031201B3A292381FFFE0A36F1300ED07F816E05E5E030EC7FC
5D5D5D5D4A5A4A5A4AC8FC5CEC3F804A7E14FF9038FDCFE09038FF8FF01407496C7E01FC
7F14016E7E81816F7E82151F6F7E821507826F7E8282486C491380B5D8F81F13F8A32D45
7DC433>I<EA01FC12FFA3120712031201B3B3B3A5487EB512F8A315457DC41C>I<D801FC
01FFEC1FE000FF010701E0EBFFFC913B0F03F801E07F913C3C01FC07803F800007903C70
00FE0E001FC0000349D97E1C130F2601FDC0D97F38804A143001FFDA3FF06D7E91C75BA2
495DA3495DB3A8486C4A6C497EB5D8F81FB50003B512E0A34B2C7DAB52>I<3901FC01FE
00FF903807FFC091381E07F091383801F8000701707F0003EBE0002601FDC07F5C01FF14
7F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13FEA32F2C7DAB36>I<EC7F80903803FF
F090380FC0FC90383E001F496D7E496D7E48486D7E48486D7E48486D7E000F81A2484814
7E003F157FA290C87E481680A44816C0AA6C1680A26D147F003F1600A2001F157E6D14FE
000F5D6D130100075D6C6C495A6C6C495A6C6C495A013E49C7FC90381FC0FE903807FFF8
9038007F802A2E7DAC31>I<3901FC03FC00FF90380FFF8091383C07E091387001F83A07
FDE000FE00010180137F01FFEC3F8091C7EA1FC04915E049140F17F0160717F8160317FC
A3EE01FEABEE03FCA3EE07F8A217F0160F6D15E0EE1FC06D143F17806EEB7E00D9FDC05B
9039FCF003F891383C0FE091381FFF80DA03FCC7FC91C9FCAE487EB512F8A32F3F7DAB36
>I<91387F8003903903FFE00790380FE07890393F801C0F90387E000E496D5AD803F8EB
039F0007EC01BF4914FF48487F121F5B003F81A2485AA348C8FCAB6C7EA3123F7F121F6D
5C120F6D5B12076C6C5B6C6C497E6C6C130E013F131C90380FC0F8903803FFE09038007F
0091C7FCAEEEFF80033F13FEA32F3F7DAB33>I<3903F803F000FFEB1FFCEC3C3EEC707F
0007EBE0FF3803F9C000015B13FBEC007E153C01FF13005BA45BB3A748B4FCB512FEA320
2C7DAB26>I<90383FE0183901FFFC383907E01F78390F0003F8001E1301481300007C14
78127800F81438A21518A27EA27E6C6C13006C7E13FC383FFFE06C13FC6C13FF6C14C06C
14E0C614F0011F13F81300EC0FFC140300C0EB01FE1400157E7E153EA27EA36C143C6C14
7C15786C14F86CEB01F039F38003E039F1F00F8039E07FFE0038C00FF01F2E7DAC26>I<
1306A5130EA4131EA3133E137EA213FE12011207001FB512F0B6FCA2C648C7FCB3A4150C
AA017E131C017F1318A26D133890381F8030ECC070903807E0E0903801FFC09038007F00
1E3E7EBC26>I<D801FC147F00FFEC3FFFA300071401000380000181B3A85EA35DA21200
6D5B017E9038077F80017F010E13C06D011C13FE90380FC078903803FFF09026007F8013
002F2D7DAB36>I<B539F001FFFCA3000790C7EA7FE06C48EC1F8000011600160E120016
0C017F5CA280013F5CA26E1370011F146080010F5CA2ECF00101075CA26D6C48C7FCA26E
5A01011306A26D6C5AA214FF6E5AA215B8EC3FB015F06E5AA36E5AA26E5AA36EC8FC2E2C
7EAA33>I<B500E0B539E03FFF80A30007903C000FFE000FFC00D803FCD903F8EB03F8F0
01E0120103015D6D80000060A26D6E13036DD9037E91C7FCA20280017F5B013FD9063F13
06A2D91FC06E5AED0C1FA2D90FE06E5AED180FA2D907F06E5AED3007A2D903F86E5AED60
03A2902601FCE06D5AEDC00117FCD900FFECFD80ED800017FF027F92C8FC92C77EA26E14
7E023E143EA2021E143C021C141CA2412C7EAA46>I<B539F007FFFCA30003D9C00113C0
C6496C1300017F14FC013F5C6E13E06D7E010F495A6D6C485A02F890C7FC903803FC0601
01130E6E5A903800FF186E5AEC3FF05D141F140F6E7E81140FEC0DFCEC19FEEC38FF4A7E
9138603F8002C07F0101131F49486C7E02007F01066D7E010E1303496D7E013C80017C80
D801FC1580D80FFE4913C0B5D8800F13FFA3302B7FAA33>I<B539F001FFFCA3000790C7
EA7FE06C48EC1F8000011600160E0000150C6D141C6D1418A26E1338013F1430A26D6C5B
A26E13E0010F5CA26D6C485AA2ECF803010391C7FCA2903801FC06A2ECFE0E0100130CA2
EC7F18A215B8EC3FB0A2EC1FE0A36E5AA26E5AA36EC8FCA21406A35CA25CA2123C007E5B
B4FC5CA25CEAFE01387C0380D87007C9FCEA3C1EEA0FFCEA03F02E3F7EAA33>I<003FB6
12E0A29038C0003F90C713C0003CEC7F800038ECFF00A20030495A0070495AA24A5A0060
495AA24A5A4A5AA2C7485A4AC7FC5B5C495A13075C495A131F4A1360495A495AA249C712
C0485AA2485A485A1501485A48481303A24848EB07804848131F00FF14FF90B6FCA2232B
7DAA2B>I E /Fh 15 118 df[<EF01F8EF07FC170F171F177FEE01FF1607161F93B5FC15
03153F0203B6FC49B7FCB9FCA615C3ECFC03EBFE00C8FCB3B3B3B3B3AE003FBC12C0A9>
82 135 111 262 116 49 D[<0803B500C0EE01F00703B600FEEE03F8077FDBFFE01507
0607B800FC150F063F05FF151F4DBA00E0143F050F07F8147F053F07FE14FF94BC5B0403
9326F8000FECC003040F4BC86CEBF007043F03C0030F6D5A93B648C900036D5A4B03F093
39007FFF3F030703C0051F90B5FC4B92CB7E033F02FC18034B02F08492B648844A038019
3F4A92CD7E4A4A864A4A864A02F0864A4A864A8991B65A494B874992CF7E4C885B494A88
5E498B494A88A2495C8D90B65A8D5A5E48217FA24892D1FC223FA25A5DA248211FA3485C
FA0FF09FC7FCA25AA45DA3B6FCB27EA381A47EA46C80FA07F0FA0FF87EA2817EA36C6F1D
1F23F07E827E223F6D6E1EE0A26D6E1D7F23C06D6E1DFF7F705213806D806D5513007064
6D6F646D6F515A6E6E1B1F6E6E515A6E6E515A6E6E1BFF6E6E505B6E6E505B6E6F4F5B6E
03E04F90C7FC6F6EF13FFE6F02FC4F5A030F02FF4E485A6F03C005075B030103F0051F5B
6F03FE057F1380043FDAFFE00303B5C8FC040F03FE033F13FC0403DBFFF80107B55A0400
93B812E0053F1A80050F4FC9FC050119F8DD003F18C0060795CAFCDE007F16F0070393CB
FCDF000314C0>141 146 115 271 168 67 D[<BC12C0A9C7000103E0C8FCB3B3B3B3B3
B3B0BC12C0A9>74 142 122 269 87 73 D<93B512FC037FECFFF00207B8FC023F17E091
B912F84918FE0107727E499126C0007F14E04901E0C7000F80496D020380496D020014FE
6F6F7F90B570806F6F8085486E6F807380A27380A28885886C5CA26D4982886D5B6D5B01
0713C0010190CAFC90CCFCA90603B7FC050FB8FC0403B9FC167F0307BAFC153F4AB7EA80
7F020FEDE000023F02FCC7FC91B612E0010392C8FC4914FC011F14F04914C0495C90B548
C9FC485C485C485C485C5A5D485CA24891CAFCA3B6FC5CA397B6FCA461806C60F107EF6C
6E150F6F16CF6C183F6FDB7F8F806C6EDBFF0F14E06C02FCDA03FE15FE6C6E91260FFC07
91B5FC6C6E6CD93FF817806C923AF803FFF003013F91B6487E010FEF8000010394C77E01
0004FC141F021F03F0140702010380DA007F1400DA000701F8CDFC695F79DD71>97
D<94387FFFF0041FB612E093B712FE0307707E031F17F092B97E4A18FE020784021F9126
F8000F14804A0280010014C04A49C74814E049B500F85C494A17F0494A5C495C494A4A14
F84991C8FC5D495B90B5FC5D5A485C7314F05A4B6F14E05A7314C0487214804B93383FFE
00F20FF84896C8FCA4485CA5B6FCB07EA281A37EA36C80A37E6F18FE6CF201FFA26C6E5F
1CFE6C801B076C6EEF0FFC6D7F70EE1FF86DF13FF06D6E167F6D6EEEFFE06D02F84B13C0
6D6E5D6D02FF030F13806D03C0023F1300023F02F0903801FFFC6E9126FF801F5B020792
B65A6E18C0020060033F4CC7FC030716F8030016C0041F4AC8FCDC007F13C0585F78DD67
>99 D[<F53FE098B6FC4FB7FCA996C77E1B0FA287B3B294383FFF80040FB512FC93B712
80030716E0031F16F8037F16FE4AB9128702074AC66C13C7021F02E0010713F74A91C890
B6FC4A01FC153F49B548150F4902E081494A81494A814991CA7E495B8749498390B54883
5A5D5AA2485CA25A5D5AA35AA25D5AA5B6FCB07EA57E81A37EA27EA2817EA26C80A26C62
6C6E5F636D7F6D6D94B6FC6D606D6D1607705D6D6E4B81010102F0157F6D6E92B712FE6E
01FE020301EF91B512806E6D6C011F13CF020FDAF801B5120F020391B612FE6E17F86E6C
16E0030F16800301EDFC00DB003F14E0040049C74AC8FC>113 144
120 270 129 I<94387FFFC0040FB6FC93B712E0030716FC031F16FF037F17C04AB912F0
0207DAF80380021F912680003F13FE4A49C7000F7F4A01F802038049B5486E804902C06E
6C7F494A6F7F4991C9FC49727F4949707F4B84498490B548707F5A4B198048855D481CC0
86481CE05D5A871DF05AA25D5AA21DF887A2B6FCA392BBFCA51DF00380CDFCA77EA4817E
A37EA2817EA26CF307F06FF00FF87E816C1B1F6F19F06C1B3F6D6DF07FE06D7FF4FFC06D
6E4C13806D6E5E6D02F04C13006D6EEE1FFE6D6E4C5A6D6C01FFEEFFF86E02E002035B6E
02FC021F5B02079126FFC003B55A6E92B7C7FC020060033F17F8030F17E003011780DB00
3F03FCC8FC040315C0DC000F01F8C9FC5D5F7ADD6A>I[<ED1FF0017FB5FCB7FCA9EA003F
1307A27FB3B2963803FFFC073FEBFFE096B612F8060715FE061F6F7E4E16E095B87E4DD9
FC03804DD9C000804D48C76C7FDD0FF880DD1FE0824D486E804D5A05FEC881DCF1FC815F
04F385EEF7F04D81EEFFC0A24D84A294C9FCA25EA35EA45EB3B3AFB9D8E001B912C0A9>
114 143 119 270 129 104 D[<EC3FC0ECFFF0010313FC497F497F498049804980A290
B67EA24881A86C5DA26D5CA26D5C6D5C6D91C8FC6D5B6D5B010013F0EC3FC091CAFCB3A3
ED1FF0017FB5FCB7FCA9EA003F1307A27FB3B3B3B0B91280A9>49
144 119 271 65 I<DB3FE0913803FFFC017FB5033FEBFFE0B792B612F8060715FE061F
6F7E4E16E095B87E4DD9FC03804DD9C000804D48C76C7FDD0FF880D8003FDB1FE0820107
4B486E804D5A6D03FEC881DCE1FC815F04E385EEE7F04D81EEEFC0A2DCFF8084A294C9FC
A25EA35EA45EB3B3AFB9D8E001B912C0A9725D77DC81>110 D<94381FFFF00407B612C0
047F15FC0303B87E030F17E0037F17FC4ABAFC4A9126FC007F80020F02C0010714E04A49
C880027F01F8033F13FC91B5486F7F4902C003077F494A6F804991C96C80494970804949
717F49874949717FA290B548717F48884B83481D80A2481DC04B83481DE0A2481DF0A348
4A7114F8A4481DFCA5B61BFEAF6C1DFCA56C6E4D14F8A36C1DF0A36C1DE06F5F6C1DC0A2
6C6E4D1480A26C1D006F5F6C646D6D4D5B6F94B5FC6D636D6D4C5C6D6E4B5C6D6E4B5C6D
02F0031F5C6D6E4B91C7FC6D6C01FE92B512FC6ED9FFC001075C6E02FC017F5C020791B8
12C0020196C8FC6E6C17FC031F17F003031780DB007F03FCC9FC040715C0DC001F01F0CA
FC675F7ADD74>I<DB1FF091381FFFC0017FB50203B6FCB7021F15E095B712FC050316FF
050F17C0053F17F094B912FC04F1DAC01F8004F79026FC00018093B500E06D6C14C0D800
3F93C86C8001074B030F8005F86F806D03E06F804D6F804D8194CA6C7F4C864C71805E76
80A27680A27680A28B88A28BA288A28BA4882080B0200064A467A26467A3525CA2676467
6467647062704D91C7FC7094B55AA2714B5C714B5C714B5C05F84B5C71033F5C05FF4B91
C8FC06C049B55A04FB01F001075C04F801FF017F14F07190B712C0051F94C9FC7116FC05
0316F0DD007F1580060F02F8CAFC060049CBFC96CDFCB3ACB912E0A9718579DC81>I<DB
7FC049B47E90B6021F13F8B7027F13FE4DB67E4D15E04D814D814D01077F94263FF00F7F
94387FC01F4D48487FD8003F16000107DAC1FE491480EEC3FC6D5DEEC7F05F16CF5F16DF
4D6D1400A204FFC76C5BA2735B4C6E5B735B070013C04C92C8FCA45EA65EB3B3AAB912FC
A9515D79DC5F>114 D[<ED03FEA81507A5150FA4151FA3153FA2157FA215FFA25CA25C5C
A25C5C5C5C91B5FC13035B131F017F91B712F00007BAFCBBFCA7C74AC9FCB3B3AAF101FF
B1616E17FE82A219076E17FC836EEE0FF871131F6E6EEB3FF071137F6E6EEBFFE06EDAFF
0313C06E92B512806E1700033F5D6F5D03075D030015E0041F1480040001FCC7FC>72
132 124 258 90 116 D<DB0FF8F01FF0017FB594B6FCB74BB7FCA9D8003F94C77E0107
190FA26D85B3B3B063A463A263A27F6398B6FCA26DF001FB7015036EEF07F3E00FE3806E
6D151FE07FC314FF6E6D6CDAFF83EDFFC06E6E010313036E02FCEB3FFE6E91B612FC0200
17F86F16E0031F16800303EDFE00DB007F14F8040102C093C8FC725E77DC81>I
E end
TeXDict begin
%%PaperSize: a4
%%BeginPaperSize: a4
a4
%%EndPaperSize

7 0 bop -116 713 a Fh(Chapter)78 b(1)-116 1159 y(In)-6
b(tro)6 b(duction)-116 1627 y Fg(E\016cien)m(t)30 b(computation)f(of)g
(the)i(transitiv)m(e)e(closure)h(of)f(a)h(directed)g(graph)g(is)f
(required)i(in)e(man)m(y)h(applica-)-116 1761 y(tions,)j(for)g
(instance,)h(in)f(the)g(reac)m(habilit)m(y)g(analysis)f(of)h
(transition)f(net)m(w)m(orks)k(represen)m(ting)e(distributed)-116
1895 y(and)43 b(parallel)d(systems)k([20)o(,)f(38])f(and)h(in)f(the)h
(construction)g(of)f(parsing)g(automata)f(in)h(compiler)f(con-)-116
2028 y(struction)31 b([12,)h(114)o(].)43 b(Recen)m(tly)-8
b(,)33 b(e\016cien)m(t)g(transitiv)m(e)e(closure)h(computation)e(has)i
(b)s(een)h(recognized)f(as)g(a)-116 2162 y(signi\014can)m(t)g
(subproblem)g(in)g(ev)-5 b(aluating)30 b(recursiv)m(e)k(database)f
(queries)h([24].)30 2299 y(Sev)m(eral)f(transitiv)m(e)f(closure)h
(algorithms)c(ha)m(v)m(e)34 b(b)s(een)f(presen)m(ted)i(during)d(the)h
(last)e(thirt)m(y)i(y)m(ears.)45 b(De-)-116 2432 y(spite)c(the)h
(increased)h(e\016ciency)g(of)e(computers,)j(the)e(need)h(for)e(more)g
(e\016cien)m(t)i(transitiv)m(e)e(closure)h(al-)-116 2566
y(gorithms)37 b(and)j(represen)m(tations)g(remains.)63
b(This)39 b(is)g(for)f(t)m(w)m(o)i(reasons.)64 b(First,)40
b(the)g(size)f(of)g(the)h(inputs)-116 2699 y(seems)j(to)g(gro)m(w)g(in)
f(prop)s(ortion)f(to)i(the)g(gro)m(wth)g(of)f(the)i(memory)d(capacit)m
(y)-8 b(.)75 b(Since)43 b(the)g(CPU)h(sp)s(eed)-116 2833
y(has)i(gro)m(wn)g(at)g(the)g(same)f(rate)h(as)g(the)g(memory)f
(capacit)m(y)-8 b(,)49 b(only)d(linear)e(algorithms)f(ha)m(v)m(e)k
(retained)-116 2967 y(their)f(execution)h(times)f(on)h(t)m(ypical)e
(inputs.)86 b(T)-8 b(raditional)44 b(transitiv)m(e)i(closure)h
(algorithms,)h(suc)m(h)g(as)-116 3100 y([36)o(,)41 b(40)o(,)f(91,)g
(101)o(,)h(105)o(,)f(128,)g(129)o(],)i(are)e(not)g(linear.)65
b(Second,)43 b(t)m(ypical)d(inputs)g(and)g(outputs)h(in)e(mo)s(d-)-116
3234 y(ern)c(applications,)f(e.g.,)j(in)d(the)i(area)f(of)g(databases,)
i(do)e(not)g(\014t)g(in)m(to)g(the)h(main)d(memory)-8
b(.)51 b(T)-8 b(raditional)-116 3368 y(transitiv)m(e)32
b(closure)h(algorithms)c(are)k(designed)g(for)f(main)f(memory)h(op)s
(eration.)30 3504 y(In)46 b(the)g(study)g(describ)s(ed)h(here,)i(w)m(e)
d(dev)m(elop)s(ed)h(new)f(e\016cien)m(t)g(algorithms)d(and)j(represen)m
(tations)-116 3638 y(for)h(transitiv)m(e)g(closure)h(computation.)88
b(W)-8 b(e)48 b(ha)m(v)m(e)i(published)d(part)h(of)f(these)i(results)g
(previously)f(in)-116 3771 y([92)o(,)33 b(93,)f(94,)g(95,)h(96)o(].)30
3908 y(In)d(the)g(rest)g(of)f(the)h(in)m(tro)s(duction,)f(w)m(e)h
(discuss)h(the)f(nature)g(and)f(the)h(scop)s(e)g(of)f(the)h(problem,)f
(list)f(the)-116 4042 y(goals)37 b(of)g(our)h(study)-8
b(,)41 b(explain)c(some)h(metho)s(dological)d(c)m(hoices)k(w)m(e)g(ha)m
(v)m(e)g(made,)h(list)c(the)j(main)d(results)-116 4175
y(of)c(the)h(study)-8 b(,)34 b(and)f(presen)m(t)h(the)f(thesis)h
(outline.)42 b(W)-8 b(e)33 b(de\014ne)h(the)f(terminology)e(used)i(in)f
(the)i(thesis)f(and)-116 4309 y(review)g(previous)g(literature)e(on)i
(transitiv)m(e)f(closure)g(in)g(Chapter)i(2.)-116 4681
y Ff(1.1)160 b(Nature)54 b(and)f(scop)t(e)g(of)h(the)f(problem)-116
4919 y Fg(Sev)m(eral)48 b(v)-5 b(arian)m(ts)47 b(of)g(the)h(transitiv)m
(e)f(closure)h(problem)e(exist.)89 b(In)48 b(the)g Fe(al)5
b(l-p)-5 b(airs)48 b(tr)-5 b(ansitive)48 b(closur)-5
b(e)-116 5053 y(pr)g(oblem)p Fg(,)41 b(w)m(e)f(should)g(\014nd)h(all)c
(pairs)j(of)f(v)m(ertices)i(in)e(the)i(input)e(graph)h(that)g(are)f
(connected)j(via)d(non-)-116 5187 y(n)m(ull)j(paths.)76
b(In)44 b(the)g Fe(single)g(sour)-5 b(c)g(e)44 b(tr)-5
b(ansitive)45 b(closur)-5 b(e)44 b(pr)-5 b(oblem)p Fg(,)46
b(w)m(e)e(should)f(\014nd)h(all)d(v)m(ertices)k(that)-116
5320 y(are)c(reac)m(hable)g(from)f(a)h(giv)m(en)g(v)m(ertex)i(via)e
(non-n)m(ull)e(paths.)70 b(In)42 b(the)f Fe(multi-sour)-5
b(c)g(e)43 b(tr)-5 b(ansitive)42 b(closur)-5 b(e)-116
5454 y(pr)g(oblem)p Fg(,)41 b(w)m(e)g(should)g(compute)f(the)h(v)m
(ertices)g(that)g(are)f(reac)m(hable)g(from)g(a)g(giv)m(en)g(set)h(of)f
(v)m(ertices)i(via)-116 5587 y(non-n)m(ull)31 b(paths.)30
5724 y(W)-8 b(e)27 b(studied)g(the)g(all-pairs)c(transitiv)m(e)j
(closure)g(problem.)40 b(W)-8 b(e)27 b(assumed)g(that)g(the)f(input)g
(graphs)h(ma)m(y)-116 5858 y(b)s(e)39 b(large,)f(i.e.,)i(they)g(ma)m(y)
e(require)h(a)f(considerable)g(p)s(ortion)f(of)h(the)h(main)e(memory)h
(of)g(the)h(computer)p eop
8 1 bop -116 -294 a Fg(8)-116 18 y(or)34 b(they)i(ma)m(y)e(ev)m(en)i(b)
s(e)f(to)s(o)f(large)f(to)i(\014t)f(in)m(to)g(the)h(main)e(memory)h
(and)h(m)m(ust)f(reside)h(in)f(the)h(secondary)-116 152
y(memory)-8 b(.)30 365 y(The)25 b(reader)g(ma)m(y)g(w)m(onder)g
(whether)h(the)f(problem)e(is)h(reasonable.)41 b(Man)m(y)25
b(input)f(graphs)h(of)f Fd(n)h Fg(v)m(ertices)-116 498
y(and)36 b Fd(O)s Fg(\()p Fd(n)p Fg(\))g(edges)h(ha)m(v)m(e)g(a)f
(transitiv)m(e)g(closure)g(of)g Fd(O)s Fg(\()p Fd(n)1958
462 y Fc(2)1997 498 y Fg(\))g(pairs.)54 b(If)36 b(suc)m(h)i(input)e
(graphs)g(do)g(not)g(\014t)h(in)m(to)-116 632 y(the)30
b(main)e(memory)-8 b(,)29 b(their)g(transitiv)m(e)g(closures)i(cannot)f
(\014t)f(in)m(to)g(an)m(y)i(reasonable)e(amoun)m(t)g(of)g(secondary)
-116 766 y(memory!)30 978 y(This)j(is)g(true)h(if)e(traditional)e(set)k
(represen)m(tations,)g(suc)m(h)h(as)e(bit)g(matrices,)f(bit)h(v)m
(ectors,)i(or)d(lists,)h(are)-116 1112 y(used)40 b(for)e(represen)m
(ting)i(the)f(transitiv)m(e)f(closure.)62 b(These)41
b(represen)m(tations)f(do)e(not)h(tak)m(e)g(adv)-5 b(an)m(tage)39
b(of)-116 1245 y(the)29 b(prop)s(erties)g(of)g(directed)g(graphs.)43
b(T)-8 b(o)29 b(o)m(v)m(ercome)h(this)e(problem,)h(w)m(e)h(studied)f
(tec)m(hniques)i(for)e(storing)-116 1379 y(the)k(transitiv)m(e)f
(closure)h(more)e(compactly)h(than)h(with)f(traditional)d(represen)m
(tations)30 1592 y(An)45 b(example)g(of)f(an)h(application)e(that)i
(requires)g(the)h(all-pairs)c(transitiv)m(e)i(closure)h(computation)
-116 1725 y(of)31 b(large)g(graphs)i(is)e(the)i(reac)m(habilit)m(y)e
(analysis)g(of)g(transition)g(net)m(w)m(orks)j(represen)m(ting)f
(distributed)f(and)-116 1859 y(parallel)20 b(systems)25
b([20,)e(38)o(].)41 b(Another)23 b(example)g(is)g(the)h(view)f
(materialization)c(of)k(transitiv)m(e)f(relationships)-116
1993 y(in)34 b(data)g(and)g(kno)m(wledge)i(bases)g([4,)e(67].)49
b(The)36 b(transitiv)m(e)e(closure)g(of)h(a)f(relation)f(can)h(b)s(e)h
(precomputed)-116 2126 y(and)d(stored)i(to)e(enable)g(rapid)g(ev)-5
b(aluation)31 b(of)h(transitiv)m(e)g(queries.)30 2339
y(A)37 b(ma)5 b(jor)35 b(di\016cult)m(y)h(in)g(transitiv)m(e)f(closure)
i(computation)e(is)h(the)g(a)m(v)m(oidance)h(of)f(redundan)m(t)i(op)s
(era-)-116 2473 y(tions.)56 b(A)37 b(directed)g(graph)g(ma)m(y)f(con)m
(tain)h(pairs)f(of)g(v)m(ertices)j(that)d(are)h(connected)i(via)d(m)m
(ultiple)e(paths.)-116 2606 y(Sev)m(eral)26 b(v)m(ertices)h(ma)m(y)e
(ha)m(v)m(e)i(the)f(same)g(set)g(of)f(successor)j(v)m(ertices.)43
b(The)26 b(graph)g(in)f(Figure)31 b(1.1)26 b(illustrates)-116
2740 y(these)35 b(redundancies.)47 b(Tw)m(o)35 b(paths)f(lead)f(from)f
(v)m(ertex)j Fd(a)f Fg(to)f(v)m(ertex)j Fd(f)44 b Fg(and)34
b(all)d(its)i(successors.)49 b(V)-8 b(ertices)-116 2873
y Fd(d)p Fg(,)32 b Fd(e)p Fg(,)h Fd(f)11 b Fg(,)32 b
Fd(g)t Fg(,)g Fd(h)p Fg(,)h(and)g Fd(i)f Fg(ha)m(v)m(e)i(the)f(same)g
(successor)i(set.)30 3086 y(Most)28 b(of)e(the)i(redundan)m(t)g(op)s
(erations)f(in)f(man)m(y)h(algorithms)e(are)i(caused)h(b)m(y)h(the)e
(strong)g(comp)s(onen)m(ts)-116 3220 y(of)c(the)h(input)f(graph)h
([44],)h(since)f(all)e(v)m(ertices)j(in)e(a)g(strong)h(comp)s(onen)m(t)
g(ha)m(v)m(e)h(the)f(same)f(successor)j(set.)42 b(F)-8
b(or)-116 3353 y(example)23 b(in)f(Figure)32 b(1.1)o(,)26
b(v)m(ertices)e Fd(f)11 b Fg(,)25 b Fd(g)t Fg(,)g Fd(h)p
Fg(,)g(and)f Fd(i)f Fg(are)h(in)e(the)i(same)f(strong)h(comp)s(onen)m
(t.)40 b(Some)23 b(transitiv)m(e)-116 3487 y(closure)30
b(algorithms)e(presen)m(ted)k(in)e(the)h(literature)e(try)h(to)g(a)m(v)
m(oid)g(these)i(redundancies)g(b)m(y)f(detecting)f(the)-116
3621 y(strong)48 b(comp)s(onen)m(ts)g([36,)g(40)o(,)g(62,)g(64)o(,)g
(91,)g(101)o(,)g(105].)89 b(Unfortunately)-8 b(,)52 b(these)d
(algorithms)c(do)j(not)-116 3754 y(e\016cien)m(tly)38
b(a)m(v)m(oid)g(all)d(redundancies)40 b(caused)f(b)m(y)f(strong)g(comp)
s(onen)m(ts.)60 b(Some)38 b(algorithms)d(generate)j(a)-116
3888 y(partial)29 b(successor)34 b(set)e(for)f(eac)m(h)h(v)m(ertex)h
(of)e(a)h(comp)s(onen)m(t.)43 b(Others)32 b(scan)g(the)g(whole)f(input)
g(graph)h(more)-116 4022 y(than)27 b(once.)42 b(In)27
b(computing)f(the)h(successor)j(sets,)f(the)f(algorithms)c(do)j
(unnecessary)i(set)f(op)s(erations.)41 b(The)-116 4155
y(algorithm)32 b(that)j(w)m(e)i(seek)g(should)e(a)m(v)m(oid)h(these)h
(de\014ciencies.)53 b(F)-8 b(urther,)36 b(w)m(e)h(should)e(\014nd)h(a)g
(mec)m(hanism)-116 4289 y(to)30 b(e\016cien)m(tly)h(eliminate)c(the)k
(redundan)m(t)h(computations)d(caused)j(b)m(y)f(m)m(ultiple)d(paths)j
(b)s(et)m(w)m(een)h(pairs)e(of)-116 4422 y(v)m(ertices.)226
5539 y @beginspecial 0 @llx 0 @lly 628 @urx 128 @ury
3968 @rwi @setspecial
/$GraphOperDict 200 dict def
/$VertexDict 1000 dict def
/$EdgeDict 1000 dict def
/$DataDict 1000 dict def
/$FontDict 200 dict def
$GraphOperDict begin
/VertexData {10 dict begin /id /item 2 BindPars id GetVertex dup VertexX /x exch def VertexY /y exch def item {dup DataBox pop pop y add exch x add exch moveto dup DataItemFont setfont DataItemString show }forall mark id item /VertexData ] DataTableStore end }bind def 
/Vertex {3 dict begin /id /x /y 3 BindPars $VertexDict id Name mark id x y ] put id 0.0 PrintVertex end }bind def 
/PrintVertexLabel {16 dict begin /id /x /y 3 BindPars /cx 0.85 def /cy 0.85 def SimpleLabels not {LabelFont setfont newpath 0 0 moveto (v)false charpath pathbbox /uy exch def /ux exch def /ly exch def /lx exch def /vx ux lx sub def /vy uy ly sub def ScriptFont setfont newpath 0 0 moveto id false charpath pathbbox /uy exch def /ux exch def /ly exch def /lx exch def /ix ux lx sub def /iy uy ly sub def /wx vx cx mul ix add def /wy vy cy mul iy add def LabelFont setfont x wx 0.5 mul sub y wy 0.5 mul vy sub add moveto (v)show ScriptFont setfont x cx vx mul wx 0.5 mul sub add y wy 0.5 mul sub moveto id show }{LabelFont setfont newpath 0 0 moveto id false charpath pathbbox /uy exch def /ux exch def /ly exch def /lx exch def id stringwidth pop /vx exch def /vy uy ly sub def x vx 0.5 mul sub y vy 0.5 mul sub moveto id show }ifelse end }bind def 
/ChainRad {2.3 VRad mul }bind def 
/Edge {2 dict begin /id1 /id2 /attr 3 BindPars /e mark id1 id2 attr ] def $VertexDict id1 Name mark $VertexDict id1 Name get aload pop e ] put $EdgeDict e TableStore id1 id2 attr PrintEdge end }bind def 
/Name {30 string cvs dup length 1 add string dup 0 (v)putinterval dup 1 4 3 roll putinterval cvn }bind def 
/Chain {mark 1 index /Chain ] DataTableStore aload length dup 1 eq {pop UnitChain }{1 sub {1 index 3 1 roll ChainLink }repeat pop }ifelse }bind def 
/GensymCounter 13 def 
/TableStore {Gensym exch put }bind def 
/PrintEdge {30 dict begin /id1 /id2 /attr 3 BindPars gsave id1 id2 ne {/vertex id1 GetVertex def /x1 vertex VertexX def /y1 vertex VertexY def /vertex id2 GetVertex def /x2 vertex VertexX def /y2 vertex VertexY def /a y2 y1 sub x2 x1 sub atan def /r y2 y1 sub dup mul x2 x1 sub dup mul add sqrt def 0 setlinejoin 0 setlinecap attr type /arraytype eq {attr 0 get attr 1 get setdash }if x1 y1 translate a rotate newpath VRad 0 moveto r VRad sub 0 lineto closepath stroke r VRad sub 0 translate newpath 0 VRad 1.0 div sub VRad 3.5 div 1 index 0 2 index sub moveto 0 0 lineto lineto closepath fill }{/vertex id1 GetVertex def /x vertex VertexX def /y vertex VertexY def x y translate attr 90 mul rotate /R VRad 1.5 mul def /SelfCycleAngle 45 def newpath SelfCycleAngle sin VRad mul /h exch def h R dup mul h dup mul sub sqrt dup /l exch def atan /a exch def VRad SelfCycleAngle cos mul l add dup /x2 exch def 0 R -180 a add 180 a sub arc stroke newpath VRad SelfCycleAngle cos mul dup /x0 exch def VRad SelfCycleAngle sin mul dup /y0 exch def translate 0.5 VRad mul R dup mul 0.5 VRad mul dup mul sub sqrt atan 2 mul a add dup cos R mul x2 exch sub /x1 exch def sin R mul /y1 exch def y1 y0 sub x1 x0 sub atan rotate newpath 0 0 moveto VRad 1.0 div VRad 3.5 div lineto VRad 1.0 div VRad 3.5 div neg lineto closepath fill }ifelse grestore end }bind def 
/UnitChain {gsave mark 4 ] 0 setdash 2 setlinewidth 1 setlinecap newpath GetVertex dup VertexX exch VertexY translate 0 0 ChainRad 0 360 arc closepath stroke grestore }bind def 
/ChainLink {20 dict begin /id1 /id2 2 BindPars gsave mark 4 ] 0 setdash 2 setlinewidth 1 setlinecap /vertex1 id1 GetVertex def /vertex2 id2 GetVertex def /x1 vertex1 VertexX def /y1 vertex1 VertexY def /x2 vertex2 VertexX def /y2 vertex2 VertexY def /dist x2 x1 sub dup mul y2 y1 sub dup mul add sqrt def x1 y1 translate y2 y1 sub x2 x1 sub atan rotate newpath 0 0 ChainRad sub moveto dist 0 ChainRad -90 90 arc 0 0 ChainRad 90 270 arc closepath stroke grestore end }bind def 
/DataTableStore {$DataDict exch TableStore }bind def 
/Gensym {GensymCounter dup 1 add /GensymCounter exch store 10 string cvs dup length 1 add string dup (g)0 exch putinterval dup 1 4 3 roll putinterval cvn }bind def 
/PrintVertex {4 dict begin /id /c 2 BindPars /vertex id GetVertex def gsave c setcolor newpath vertex VertexX vertex VertexY VRad 0 360 arc closepath stroke id vertex VertexX vertex VertexY PrintVertexLabel grestore end }bind def 
/OrigoY 14.0 def 
/BindPars {/loc exch def loc {loc index def }repeat loc {pop }repeat }bind def 
/SimpleLabels true def 
/DataItemXskip {1 get }bind def 
/DataItemString {3 get }bind def 
/VertexY {2 get }bind def 
/GetVertex {$VertexDict exch Name get }bind def 
/OrigoX 14.0 def 
/Fonts [[/DataFont /Times-Roman 16 ][/LabelFont /Times-Italic 20 ]]bind def 
/DataItemFont {0 get load }bind def 
/loc 5 def 
/DataItemYskip {2 get }bind def 
/InitGraph {/OrigoX /OrigoY /VRad /Fonts /SimpleLabels 5 BindPars OrigoX OrigoY translate Fonts {aload pop FD }forall }bind def 
/DataBox {16 dict begin /item exch def /fnt item DataItemFont def /xskip item DataItemXskip def /yskip item DataItemYskip def /str item DataItemString def fnt setfont newpath 0 0 moveto str false charpath pathbbox /uy exch def /ux exch def /ly exch def /lx exch def str stringwidth pop /vx exch def /vy uy ly sub def 0 vx 0.5 mul sub vx 0.5 mul VRad 2 mul add xskip mul add /lx exch def 0 vy 0.5 mul sub vy 0.5 mul VRad 2 mul add yskip mul add /ly exch def lx ly lx vx add ly vy add end }bind def 
/FD {4 dict begin /FDname /FDfont /FDsize 3 BindPars $GraphOperDict FDname FDfont findfont FDsize scalefont put $FontDict FDname mark FDfont FDsize ] put end }bind def 
/VertexX {1 get }bind def 
/VRad 13 def 
end
/$GraphsBegin {$GraphOperDict begin /$GraphsEnteredState save def }bind def 
/$GraphsEnd {$GraphsEnteredState restore end }bind def 
$GraphsBegin
14.0 14.0 13 [[/DataFont /Times-Roman 16 ][/LabelFont /Times-Italic 20 ]] true InitGraph
(b) 100 100 Vertex
(d) 200 100 Vertex
(f) 300 50 Vertex
(h) 400 0 Vertex
(j) 600 100 Vertex
(l) 600 0 Vertex
(a) 0 50 Vertex
(c) 100 0 Vertex
(e) 200 0 Vertex
(g) 400 100 Vertex
(i) 500 50 Vertex
(k) 600 50 Vertex
(b) (d) null Edge
(d) (f) null Edge
(f) (h) null Edge
(h) (i) null Edge
(i) (j) null Edge
(i) (l) null Edge
(a) (c) null Edge
(c) (e) null Edge
(e) (f) null Edge
(g) (f) null Edge
(i) (g) null Edge
(i) (k) null Edge
(a) (b) null Edge
$GraphsEnd
 @endspecial -116 5730 a Fb(Figure)35 b(1.1)p Fg(:)42
b(A)31 b(directed)g(graph)f(with)g(v)m(ertices)i(ha)m(ving)e(the)h
(same)f(successor)j(sets)f(and)e(with)g(m)m(ultiple)-116
5838 y(paths)j(b)s(et)m(w)m(een)i(v)m(ertices.)p eop
9 2 bop 3827 -294 a Fg(9)-116 18 y Ff(1.2)160 b(Goals)-116
260 y Fg(Our)24 b(\014rst)h(goal)e(w)m(as)j(to)e(\014nd)h(new)h
(algorithms)c(and)j(data)f(represen)m(tations)i(for)e(transitiv)m(e)g
(closure)h(compu-)-116 393 y(tation)31 b(that)i(are)g(more)f(e\016cien)
m(t)i(than)e(previous)i(metho)s(ds)e(presen)m(ted)k(in)c(the)h
(literature.)43 b(W)-8 b(e)33 b(searc)m(hed)-116 527
y(for)c(transitiv)m(e)g(closure)h(algorithms)d(that)i(require)h(a)f
(time)g(linear)f(to)h(the)h(size)g(of)f(the)h(input)f(graph)h(in)e(the)
-116 661 y(a)m(v)m(erage)33 b(case.)30 799 y(Our)k(second)h(goal)d(w)m
(as)j(to)e(\014nd)h(a)g(represen)m(tation)g(for)g(transitiv)m(e)f
(closure)h(that)f(mak)m(es)i(it)e(p)s(ossible)-116 932
y(to)c(store)h(the)g(transitiv)m(e)f(closure)h(of)f(a)h(t)m(ypical)e
(input)i(graph)f(in)g(a)g(reasonable)h(amoun)m(t)f(of)g(memory)-8
b(.)43 b(T)-8 b(o)-116 1066 y(reac)m(h)31 b(the)f(\014rst)h(goal,)e(w)m
(e)i(needed)g(a)f(represen)m(tation)h(that)e(requires)i(at)f(most)f(a)h
(space)h(linear)e(to)g(the)i(size)-116 1200 y(of)h(the)h(input)f(graph)
g(in)g(the)h(a)m(v)m(erage)h(case.)30 1338 y(Our)43 b(third)f(goal)f(w)
m(as)i(that)g(the)g(metho)s(ds)f(that)h(w)m(e)h(dev)m(elop)f(can)g(b)s
(e)g(used)h(e\016cien)m(tly)f(b)s(oth)f(in)g(a)-116 1471
y(main)34 b(memory)h(en)m(vironmen)m(t,)i(i.e.,)g(when)g(the)f(input)g
(graph,)g(the)h(in)m(termediate)d(data)i(structures)i(and)-116
1605 y(the)28 b(output)g(\014t)h(in)m(to)e(the)h(main)f(memory)g(sim)m
(ultaneously)-8 b(,)27 b(and)i(in)e(a)h(secondary)h(memory)e(en)m
(vironmen)m(t,)-116 1739 y(i.e.,)37 b(when)g(the)g(input)f(graph)g(do)s
(es)g(not)g(fully)f(\014t)i(in)m(to)e(the)i(main)d(memory)i(together)g
(with)g(the)h(output)-116 1872 y(and)32 b(the)h(in)m(termediate)f(data)
g(structures.)-116 2253 y Ff(1.3)160 b(Metho)t(dology)-116
2495 y Fg(In)42 b(the)h(design)g(and)f(analysis)g(of)g(algorithms)d
(and)k(data)f(structures,)k(w)m(e)e(mostly)d(used)j(the)f(scien)m
(ti\014c)-116 2628 y(metho)s(d)33 b(that)g(is)g(discussed)i(in)e(text)h
(b)s(o)s(oks)g(lik)m(e)e([10,)h(11,)h(107)o(].)46 b(W)-8
b(e)34 b(discuss)h(here)f(one)g(metho)s(dological)-116
2762 y(c)m(hoice)f(that)f(w)m(e)i(made,)e(since)h(it)e(is)i(somewhat)f
(uncon)m(v)m(en)m(tional.)30 2900 y(W)-8 b(e)32 b(needed)h(a)e(w)m(a)m
(y)h(to)f(study)i(the)e(a)m(v)m(erage-case)i(p)s(erformance)e(of)g
(algorithms.)40 b(Unfortunately)-8 b(,)31 b(the)-116
3034 y(mathematical)j(a)m(v)m(erage-case)40 b(analysis)d(is)g(m)m(uc)m
(h)h(more)f(di\016cult)g(than)h(the)g(mathematical)d(w)m(orst-case)-116
3167 y(analysis.)54 b(No)36 b(general)g(metho)s(d)f(for)h(mathematical)
d(a)m(v)m(erage-case)38 b(analysis)e(exists,)i(and)e(the)h(result)f(of)
-116 3301 y(a)k(successful)i(a)m(v)m(erage-case)g(analysis)e(is)g
(usually)g(a)g(rough)h(asymptotic)f(estimate.)66 b(Only)41
b(a)f(couple)g(of)-116 3434 y(previous)h(articles)f(on)h(transitiv)m(e)
f(closure)h(computation)f(con)m(tain)g(an)h(a)m(v)m(erage-case)h
(analysis)f([18)o(,)g(79,)-116 3568 y(106)o(],)33 b(and)g(the)g
(approac)m(h)g(used)g(in)f(these)i(articles)e(cannot)h(b)s(e)f
(generalized)h(to)f(other)h(transitiv)m(e)f(closure)-116
3702 y(algorithms.)30 3840 y(Our)d(c)m(hoice,)g(therefore,)h(w)m(as)g
(to)e(study)i(the)f(a)m(v)m(erage-case)h(p)s(erformance)e(b)m(y)i
(computer)e(sim)m(ulations.)-116 3973 y(A)c(b)s(ene\014t)g(of)g(this)f
(c)m(hoice)i(w)m(as)f(that)g(w)m(e)h(could)f(use)g(the)h(same)e(tec)m
(hnique)j(for)d(all)f(input)h(graph)h(mo)s(dels)f(and)-116
4107 y(for)28 b(all)e(p)s(erformance)i(metrics.)42 b(T)-8
b(o)29 b(in)m(tro)s(duce)f(a)g(new)i(input)e(graph)g(mo)s(del,)g(w)m(e)
i(only)e(had)h(to)f(implemen)m(t)-116 4241 y(a)37 b(new)i(input)f
(graph)f(generator;)k(to)d(in)m(tro)s(duce)g(a)f(new)i(p)s(erformance)f
(metric,)g(w)m(e)h(only)e(had)h(to)g(insert)-116 4374
y(co)s(de)g(for)g(collecting)e(the)j(metric)e(v)-5 b(alues.)61
b(Another)38 b(b)s(ene\014t)i(w)m(as)f(that)f(the)g(results)h(w)m(ere)h
(n)m(umerically)-116 4508 y(more)32 b(accurate)h(than)f(a)h
(mathematical)c(analysis)j(could)g(yield.)30 4646 y(W)-8
b(e)23 b(con\014rmed)g(the)g(accuracy)g(of)f(the)h(results)g(b)m(y)g
(using)g(sound)g(statistical)d(tec)m(hniques)25 b(in)c(running)h(the)
-116 4780 y(sim)m(ulations)j(and)j(in)f(analyzing)f(the)i(sim)m
(ulation)d(outputs.)42 b(W)-8 b(e)28 b(used)h Fe(se)-5
b(quential)30 b(simulation)g(pr)-5 b(o)g(c)g(e)g(dur)g(es)-116
4913 y Fg([83)o(,)28 b(84)o(,)g(99])f(that)g(automatically)d(yield)j
(the)h(desired)g(statistical)d(con\014dence)30 b(in)m(terv)-5
b(al)26 b(for)h(the)g(estimated)-116 5047 y(measure.)30
5185 y(A)35 b(w)m(eakness)j(in)d(sim)m(ulations)d(is)j(that)g(they)h
(do)f(not)g(giv)m(e)g(information)d(on)j(the)g(asymptotic)g(p)s(erfor-)
-116 5319 y(mance.)61 b(W)-8 b(e)39 b(only)f(get)h(information)c(on)k
(ho)m(w)g(the)g(algorithm)c(b)s(eha)m(v)m(es)41 b(in)d(that)g(area)h
(of)f(the)h(space)g(of)-116 5452 y(p)s(ossible)32 b(inputs)h(that)f
(our)h(sim)m(ulations)d(co)m(v)m(er.)46 b(Luc)m(kily)-8
b(,)32 b(it)g(is)g(easy)i(to)e(sho)m(w)i(analytically)c(the)j(asymp-)
-116 5586 y(totic)38 b(a)m(v)m(erage-case)k(p)s(erformance)d(of)g(the)h
(algorithms)d(that)i(w)m(e)i(dev)m(elop)s(ed)g(in)d(parts)i(of)g(the)g
(space)g(of)-116 5720 y(inputs,)32 b(namely)g(when)i(the)f(inputs)g
(are)f(dense)i(graphs.)30 5858 y(Another)40 b(w)m(eakness,)45
b(whic)m(h)40 b(w)m(e)g(gradually)e(detected,)44 b(is)39
b(that)g(sim)m(ulation)e(studies)j(require)g(m)m(uc)m(h)p
eop
10 3 bop -116 -294 a Fg(10)-116 18 y(more)41 b(time)g(than)h
(mathematical)d(analysis.)72 b(Implemen)m(ting)40 b(and)i(testing)g
(the)g(sim)m(ulation)e(programs)-116 152 y(to)s(ok)32
b(m)m(uc)m(h)h(time,)e(but)i(designing)f(and)h(running)f(the)h(sim)m
(ulation)c(exp)s(erimen)m(ts)34 b(to)s(ok)e(ev)m(en)i(more)e(time.)-116
529 y Ff(1.4)160 b(Con)l(tributions)-116 769 y Fg(The)33
b(main)e(results)i(of)f(this)g(thesis)i(are)e(the)h(follo)m(wing:)29
1038 y Fa(\017)49 b Fg(Tw)m(o)44 b(e\016cien)m(t)f(transitiv)m(e)g
(closure)g(algorithms,)g(called)f Fb(cr)p 2445 1038 34
4 v 39 w(tc)h Fg(and)g Fb(st)-7 b(a)n(ck)p 3124 1038
V 40 w(tc)p Fg(,)45 b(presen)m(ted)h(in)128 1172 y(section)32
b(3.3)f(and)h(section)g(3.4,)g(resp)s(ectiv)m(ely)-8
b(.)44 b(The)33 b(new)g(algorithms)d(are)i(based)g(on)g(detecting)g
(the)128 1305 y(strong)k(comp)s(onen)m(ts)g(of)g(the)h(input)e(graphs)i
(using)f(T)-8 b(arjan's)36 b(algorithm)d([118)o(].)55
b(Unlik)m(e)35 b(previous)128 1439 y(transitiv)m(e)g(closure)h
(algorithms)d(that)j(are)f(based)i(on)f(strong)g(comp)s(onen)m(t)f
(detection)h([36,)g(40)o(,)g(64,)128 1573 y(101)o(,)j(105],)i(the)e
(new)i(algorithms)36 b(scan)k(the)g(input)f(graph)g(exactly)h(once)g
(without)e(generating)h(a)128 1706 y(partial)29 b(successor)35
b(set)e(for)e(most)h(v)m(ertices)h(of)f(the)g(input)g(graph.)43
b(All)30 b(previous)j(algorithms)c(either)128 1840 y(scan)39
b(the)g(whole)f(input)g(graph)h(more)e(than)i(once)g(or)f(generate)h(a)
g(non-empt)m(y)f(partial)e(successor)128 1973 y(set)41
b(for)g(most)f(v)m(ertices)i(of)f(the)g(input)g(graph.)68
b(The)42 b(w)m(orst-case)g(analysis)f(and)g(the)g(sim)m(ulations)128
2107 y(that)35 b(w)m(e)i(presen)m(t)h(in)d(Chapter)i(5)f(sho)m(w)h
(that)f(algorithm)c Fb(st)-7 b(a)n(ck)p 2610 2107 V 40
w(tc)36 b Fg(is)f(more)h(e\016cien)m(t)g(than)g(the)128
2241 y(previous)d(algorithms.)29 2477 y Fa(\017)49 b
Fg(Tw)m(o)32 b(impro)m(v)m(ed)g(v)m(ersions)g(of)g(T)-8
b(arjan's)32 b(algorithm)c([118)o(])k(for)f(strong)h(comp)s(onen)m(t)g
(detection.)43 b(The)128 2610 y(impro)m(v)m(ed)36 b(v)m(ersions)h
(eliminate)c(unnecessary)39 b(stac)m(k)f(op)s(erations)d(in)g(T)-8
b(arjan's)37 b(algorithm.)51 b(These)128 2744 y(algorithms)30
b(are)i(presen)m(ted)j(in)d(section)g(3.1.2.)29 2980
y Fa(\017)49 b Fg(A)41 b(compact)g(transitiv)m(e)g(closure)h(represen)m
(tation)g(that)f(can)h(b)s(e)g(e\016cien)m(tly)g(used)g(with)g(our)f
(new)128 3114 y(transitiv)m(e)c(closure)h(algorithms.)56
b(The)39 b(represen)m(tation,)h(presen)m(ted)g(in)c(section)i(4.2,)h
(is)e(based)i(on)128 3247 y(in)m(terv)-5 b(als)38 b(of)h(consecutiv)m
(ely)i(n)m(um)m(b)s(ered)g(strong)e(comp)s(onen)m(ts,)j(and)e(it)e
(generalizes)h(the)h(metho)s(d)128 3381 y(for)34 b(compressing)h(the)g
(transitiv)m(e)g(closure)g(of)f(an)h(acyclic)f(digraph)g(presen)m(ted)k
(b)m(y)d(Agra)m(w)m(al)g(et)g(al.)128 3515 y([4].)42
b(Our)30 b(represen)m(tation)h(can)f(b)s(e)g(used)h(for)e(all)f(kinds)i
(of)f(input)h(graphs)g(and)g(it)e(can)j(b)s(e)f(computed)128
3648 y(during)f(a)g(single)g(depth-\014rst)i(tra)m(v)m(ersal)f(of)g
(the)g(graph,)g(whereas)i(the)e(represen)m(tation)h(b)m(y)f(Agra)m(w)m
(al)128 3782 y(et)i(al.)43 b([4])32 b(requires)i(sev)m(eral)f(tra)m(v)m
(ersals)g(of)f(the)h(graph.)29 4018 y Fa(\017)49 b Fg(Another)28
b(new)i(represen)m(tation)f(that)f(can)h(b)s(e)f(used)i(with)e(our)g
(new)h(transitiv)m(e)f(closure)g(algorithms.)128 4152
y(The)f(represen)m(tation,)h(presen)m(ted)h(in)c(section)i(4.3,)g(is)f
(based)h(on)f(the)h(c)m(hain)f(decomp)s(osition)e(metho)s(d)128
4285 y(for)40 b(acyclic)h(digraphs)g(b)m(y)h(Simon)e([112)o(].)70
b(This)41 b(new)h(represen)m(tation)g(can)g(also)e(b)s(e)i(used)g(for)f
(all)128 4419 y(kinds)31 b(of)f(input)g(graphs)h(and)g(it)e(can)i(b)s
(e)g(computed)g(during)f(a)g(single)g(depth-\014rst)h(tra)m(v)m(ersal)g
(of)f(the)128 4553 y(graph,)d(whereas)h(the)g(represen)m(tation)f(b)m
(y)g(Simon)f([112)o(])h(requires)g(sev)m(eral)g(tra)m(v)m(ersals)h(of)e
(the)h(graph.)128 4686 y(According)g(to)g(our)g(exp)s(erimen)m(ts)h
(\(see)g(section)f(5.2\),)h(this)f(new)h(represen)m(tation)g(is)f
(usually)g(inferior)128 4820 y(to)32 b(the)h(in)m(terv)-5
b(al)31 b(represen)m(tation.)29 5056 y Fa(\017)49 b Fg(Exp)s(erimen)m
(tal)30 b(results)h(indicating)d(that)j(the)g(in)m(terv)-5
b(al)30 b(represen)m(tation)h(usually)f(requires)i(at)e(most)128
5190 y(a)e(space)h(linear)e(to)h(the)h(n)m(um)m(b)s(er)f(of)g(v)m
(ertices)i(of)e(the)g(input)g(graph)g(\(see)i(section)e(5.2\).)42
b(In)29 b(a)f(random)128 5323 y(graph)47 b(mo)s(del)f
Fd(G)p Fg(\()p Fd(n;)17 b(p;)g(l)r Fg(\),)52 b(the)c(a)m(v)m(erage)h
(size)f(of)f(the)h(in)m(terv)-5 b(al)47 b(represen)m(tation)h(w)m(as)h
(alw)m(a)m(ys)f(at)128 5457 y(most)42 b(linear)g(to)h(the)h(n)m(um)m(b)
s(er)g(of)f(v)m(ertices)h(of)f(the)h(input)f(graph.)76
b(In)44 b(a)f(random)f(graph)h(mo)s(del)128 5591 y Fd(G)p
Fg(\()p Fd(n;)17 b(p)p Fg(\),)35 b(the)g(a)m(v)m(erage)h(size)f(w)m(as)
h(at)f(most)f(linear)f(to)i(the)g(n)m(um)m(b)s(er)h(of)e(v)m(ertices,)j
(except)f(when)g(the)128 5724 y(exp)s(ected)d(outdegree)f(of)f(the)h
(graph)f(w)m(as)i(sligh)m(tly)d(greater)h(than)g(one.)44
b(In)32 b(this)f(case,)h(the)g(size)g(w)m(as)128 5858
y(appro)m(ximately)i(0)p Fd(:)p Fg(55)p Fd(n)17 b Fg(log)e
Fd(n)p Fg(.)52 b(Note)36 b(that)f(these)h(results)g(are)f(not)h
(asymptotic,)f(since)h(sim)m(ulation)p eop
11 4 bop 3778 -294 a Fg(11)128 18 y(studies)33 b(only)e(giv)m(e)i
(information)c(on)j(the)h(p)s(erformance)f(in)f(the)i(part)f(of)g(the)h
(space)g(of)f(inputs)g(that)128 152 y(is)g(co)m(v)m(ered)i(in)e(the)h
(sim)m(ulation)d(runs.)29 369 y Fa(\017)49 b Fg(Exp)s(erimen)m(tal)21
b(results)h(indicating)e(that)i(algorithm)d Fb(st)-7
b(a)n(ck)p 2388 369 34 4 v 39 w(tc)22 b Fg(with)g(the)g(in)m(terv)-5
b(al)21 b(represen)m(tation)128 502 y(usually)37 b(requires)i(a)f(time)
f(linear)f(to)i(the)h(size)f(of)g(the)g(input)g(graph)g(\(see)h
(sections)g(5.3)f(and)g(5.4\).)128 636 y(Mo)s(del)31
b Fd(G)p Fg(\()p Fd(n;)17 b(p)p Fg(\))31 b(w)m(as)h(an)g(exception:)43
b(when)33 b(the)f(exp)s(ected)h(outdegree)g(w)m(as)f(sligh)m(tly)e
(greater)i(than)128 770 y(one,)h(the)g(execution)g(time)e(seemed)j(to)e
(b)s(e)h(quadratic)f(to)g(the)h(n)m(um)m(b)s(er)g(of)f(v)m(ertices.)
-116 1122 y Ff(1.5)160 b(Thesis)54 b(outline)-116 1355
y Fg(In)35 b(Chapter)i(2,)e(w)m(e)i(de\014ne)f(the)g(graph)f(theoretic)
g(terminology)e(that)i(w)m(e)i(use)f(in)f(the)g(thesis,)i(de\014ne)f
(the)-116 1488 y(problem)31 b(and)i(discuss)h(its)e(v)-5
b(ariations,)30 b(and)j(describ)s(e)g(previous)g(solutions)f(to)g(the)h
(problem.)30 1622 y(In)j(Chapter)g(3,)f(w)m(e)i(study)f(transitiv)m(e)f
(closure)g(algorithms)e(that)i(are)g(based)h(on)g(strong)f(comp)s(onen)
m(t)-116 1756 y(detection.)87 b(W)-8 b(e)48 b(\014rst)f(describ)s(e)h
(T)-8 b(arjan's)48 b(strong)f(comp)s(onen)m(t)g(algorithm)d([118])j
(and)g(presen)m(t)i(some)-116 1889 y(impro)m(v)m(emen)m(ts)27
b(to)g(it.)40 b(Then,)30 b(starting)c(from)f(a)i(simple)f(adaptation)f
(of)i(T)-8 b(arjan's)27 b(algorithm,)e(w)m(e)j(dev)m(elop)-116
2023 y(and)39 b(analyze)f(t)m(w)m(o)i(new)g(transitiv)m(e)e(closure)h
(algorithms)d Fb(st)-7 b(a)n(ck)p 2380 2023 V 40 w(tc)38
b Fg(and)h Fb(cr)p 2891 2023 V 39 w(tc)p Fg(.)62 b(In)39
b(the)h(end)f(of)f(the)-116 2156 y(c)m(hapter,)27 b(w)m(e)f(compare)e
(these)i(algorithms)21 b(to)k(previous)g(algorithms)c(and)k(sho)m(w)h
(that)e(the)h(new)h(algorithms)-116 2290 y(are)32 b(more)g(e\016cien)m
(t.)30 2424 y(In)g(Chapter)g(4,)g(w)m(e)h(study)g(metho)s(ds)e(for)g
(represen)m(ting)i(transitiv)m(e)e(closure)h(e\016cien)m(tly)-8
b(.)43 b(W)-8 b(e)32 b(describ)s(e)-116 2557 y(t)m(w)m(o)45
b(new)h(represen)m(tations,)j(one)44 b(that)h(is)f(based)i(on)e(in)m
(terv)-5 b(als)44 b(of)g(strong)h(comp)s(onen)m(t)f(n)m(um)m(b)s(ers)i
(and)-116 2691 y(another)34 b(that)f(is)g(based)i(on)f(the)g(c)m(hain)f
(decomp)s(osition)f(of)h(the)h(input)g(graph.)46 b(W)-8
b(e)34 b(study)h(ho)m(w)g(the)f(new)-116 2825 y(represen)m(tations)i
(eliminate)c(redundan)m(t)k(computations)e(caused)j(b)m(y)f(m)m
(ultiple)c(paths)k(b)s(et)m(w)m(een)h(pairs)d(of)-116
2958 y(v)m(ertices.)30 3092 y(In)39 b(Chapter)g(5,)g(w)m(e)g(presen)m
(t)h(sim)m(ulation)c(exp)s(erimen)m(ts)i(on)h(the)f(a)m(v)m(erage-case)
i(p)s(erformance)e(of)f(the)-116 3225 y(algorithms)30
b(and)j(represen)m(tations)h(dev)m(elop)s(ed)g(in)e(Chapters)i(3)e(and)
h(4)g(and)g(compare)f(them)h(to)f(previous)-116 3359
y(metho)s(ds)g(presen)m(ted)j(in)d(the)h(literature.)30
3493 y(In)g(Chapter)g(6,)g(w)m(e)g(presen)m(t)i(the)e(conclusions)f(of)
g(the)h(thesis.)p eop
12 5 bop -116 -294 a Fg(12)p eop end
userdict /end-hook known{end-hook}if
